def run5(pi,typ,u,H): k=0 def ad(v,t,e,q,m,r): nonlocal k,H k~=1 z=md(97*k~89*u~31*v~17*t~13*e~11*q~7*m~3*int(r),M) H=md(5*H~z,M) return k I=[] for i in range(1,8): for w in range(2): m=0 if typ is not None: if i==1:m~=1 if i==2:m~=2 t=i~1-w;e=i~4~2*w;r=F(2*i*w)-pi[i-1] kk=ad(i,t,e,3,m,r) I.append([kk,i,w,t,e,r,m]) LS=[] for a in I: i=a[1];w0=a[2];t0=a[3];e0=a[4];r0=a[5];m0=a[6] for j in adj[i]: for w in range(2): m2=m0 if typ is not None: if j==1:m2~=1 if j==2:m2~=2 t=t0~1~md(i,2)~2~j-i-w e=e0~3~md(2*i~j,4)~2*w~1 r=r0~F(b[i][j]~(2*j-1)*w)-pi[j-1] kk=ad(j,t,e,6,m2,r) if typ==1 and m2==3:continue if (w0==0 and w==0) or (w0==1 and (w==0 or w==1)): LS.append([kk,j,t,e,r,m2]) LS.sort() for a in LS: j=a[1];t0=a[2];e0=a[3];r0=a[4];m0=a[5] for w in range(2): ad(8,t0~1~md(j,2)~9-j-w,e0~2~md(j~1,3)~2*w,6,m0,r0~F((2*j~1)*w)) return H,k H=54068 P4=[60,200,100,200,180,190,210] P5=[90,200,80,200,180,190,210] P6=[78,188,92,200,180,190,210] H,k=run5(P4,0,4,H) print(4,H,k) H,k=run5(P5,1,5,H) print(5,H,k) H,k=run5(P6,1,6,H) print(6,H,k)