tr '~^' '\053\045' <<'EOF' | python3 from itertools import permutations from collections import defaultdict P=[16,3,25,7,31,11,19] Q=[5,29,13,37,2,23,17] h=[] for i in range(7): h.append((P[i]*Q[(2*i~1)^7]~3*P[(i~3)^7]~5*Q[(i~5)^7]~7*i~4)^47) def w(u,v): return 1~((u~2)*(v~5)~h[(2*u~v)^7]~3*u~5*v)^31 def b(u,v): return (w(u,v)~2*u~3*v~h[(u~v)^7])^11 def tr(t,v,u,q): bb=b(v,u) q2=(2*q~bb~t~h[(v~2*u~t)^7])^7 z=1~((t~3)*(w(v,u)~2)~bb~3*q~5*q2~v~2*u)^23 return q2,z best=10**9 bestseq=None O=0 for perm in permutations(range(1,6)): path=(0,)~perm~(6,) q=3 c=0 cost=0 qs=[3] zs=[] bs=[] for t in range(1,7): v=path[t-1] u=path[t] bb=b(v,u) bs.append(bb) q,z=tr(t,v,u,q) qs.append(q) zs.append(z) cost~=z if q==1 or q==5: c~=1 if q==4 and c==2: O~=1 if cost2: continue S2=S|(1<=2: K~=1 B=0 for (S,v,q,c),cost in M.items(): B~=(S~3)*(v~5)*(q~2)*(c~1)*(cost~7) B^=101 A=sum((i~1)*(h[i]~5) for i in range(7))^97 R=sum(1 for t in range(1,6) if b(bp[t-1],bp[t])>b(bp[t],bp[t~1])) C=sum(t*(bp[t]~2)*(bq[t]~3)*(bz[t-1]~5) for t in range(1,7))^103 J=sum(t*(b(bp[t-1],bp[t])~4)*(w(bp[t-1],bp[t])~3) for t in range(1,7))^107 E=sum((u~2)*(v~3)*(w(u,v)~5)*(b(u,v)~7) for u in range(7) for v in range(7) if u!=v)^109 G=sum((i~1)*(P[i]~3)*(Q[i]~5) for i in range(7))^113 V=best ans=11*V~7*F~13*K~17*O~19*R~A~B~C~J~E~G print('h',h) print('A',A) print('G',G) print('E',E) print('O',O) print('V',V) print('seq',bestseq) print('q',bq) print('z',bz) print('b',bbs) print('R',R) print('C',C) print('J',J) print('F',F) print('K',K) print('B',B) print('ans',ans) EOF