python3 -c 'import random,time,math;CL=[];[[CL.append([(r,c 1),(r,c 2),(r 1,c),(r 1,c 1),(r 1,c 2),(r 1,c 3)]) for c in range(5)] for r in range(7)];CV=[[[] for j in range(8)] for i in range(8)];[[CV[p[0]][p[1]].append(k) for p in cl] for k,cl in enumerate(CL)];SS=lambda g:[sum(g[a][b] for a,b in cl) for cl in CL];BV=10**9;BG=None;t0=time.time();run=0;exec("while time.time()-t0<6:\n g=[[0]*8 for i in range(8)]\n v=list(range(1,65))\n random.shuffle(v)\n for i in range(8):\n for j in range(8): g[i][j]=v[8*i j]\n ss=SS(g)\n cur=max(ss) 0.02*sum(ss)\n T=15.0\n for it in range(50000):\n a=random.randrange(8);b=random.randrange(8);c=random.randrange(8);d=random.randrange(8)\n if a==c and b==d: continue\n inds=list(set(CV[a][b] CV[c][d]))\n old={k:ss[k] for k in inds}\n g[a][b],g[c][d]=g[c][d],g[a][b]\n for k in inds: ss[k]=sum(g[x][y] for x,y in CL[k])\n ne=max(ss) 0.02*sum(ss)\n if ne<=cur or random.random()