python3 -c 'import random,time,math C=[(r*8+c+1,r*8+c+2,(r+1)*8+c,(r+1)*8+c+1,(r+1)*8+c+2,(r+1)*8+c+3)for r in range(7)for c in range(5)] S=lambda g:[sum(g[i]for i in t)for t in C] g=[59,54,28,58,64,40,42,61,50,4,8,23,5,3,18,52,53,39,9,45,43,10,37,46,62,32,1,15,31,6,26,57,60,17,21,20,41,14,24,56,51,35,12,27,13,22,34,44,63,2,29,25,38,11,7,49,55,36,30,16,19,33,47,48] b=max(S(g)) print("start",b) t=time.time() while 1: s=S(g) u=max(s)+.05*sum(sorted(s)[-5:])+.001*sum(s) T=3. for k in range(30000): i=random.randrange(64) j=random.randrange(64) g[i],g[j]=g[j],g[i] z=S(g) v=max(z)+.05*sum(sorted(z)[-5:])+.001*sum(z) if u>=v:u=v elif math.exp((u-v)/T)>random.random():u=v else:g[i],g[j]=g[j],g[i] T*=.9998 if b>max(z): b=max(z) print("new",b,g,flush=True) if time.time()-t>7:break if time.time()-t>7:break print("end",b,g)'