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];BG=[[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]];BV=max(SS(BG));t0=time.time();exec("while time.time()-t0<7:\n g=[row[:] for row in BG]\n ss=SS(g)\n cur=max(ss)+0.08*sum(sorted(ss)[-6:])+0.002*sum(ss)\n T=4.0\n for it in range(300000):\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.08*sum(sorted(ss)[-6:])+0.002*sum(ss)\n if ne<=cur or random.random()7: break\n");print("FINAL",BV,BG)'