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)];cells=[(i,j) for i in range(8) for j in range(8)];best=-1;besty=None;t0=time.time();exec("for rp in range(100):\n y=[random.random() for _ in CL]\n s=sum(y)\n y=[a/s for a in y]\n step=0.3\n for it in range(800):\n q={v:0.0 for v in cells}\n for k,cl in enumerate(CL):\n for v in cl: q[v]=q[v]+y[k]\n ordc=sorted(cells,key=lambda v:q[v])\n x={v:64-i for i,v in enumerate(ordc)}\n val=sum(q[v]*x[v] for v in cells)\n if val>best:\n best=val;besty=y[:]\n print(best,flush=True)\n g=[sum(x[v] for v in cl) for cl in CL]\n gm=sum(g)/len(g)\n y=[max(0.0,y[k]+step*(g[k]-gm)) for k in range(len(y))]\n s=sum(y)\n y=[a/s for a in y]\n step*=0.995\n if time.time()-t0>4: break\n if time.time()-t0>4: break\n");print("BEST",best,besty)'