python3 -c 'r=17;s=41;q=73 T=112 X=[];Y=[];TT=[];PP=[] for i in range(72): r=(5*r+3*s+7*i+11)%97 s=(2*r+7*s+q+5*i+13)%89 q=(3*r+s+5*q+11*i+17)%83 t=20+i+i//4 x=4+((7*r+3*s+5*q+2*i)%23) y=3+((5*r+2*s+7*q+3*i)%17) p=1 if (r+2*s+q+i)%6 in (0,1,4) else -1 X.append(x);Y.append(y);TT.append(t);PP.append(p) M=[(-2,5,-1),(-1,-4,3),(0,4,-3),(1,2,2),(2,-5,1),(-2,1,-4),(1,-4,-2),(2,3,-3)] P=[[[0]*8 for a in range(11)] for h in range(8)] N=[[[0]*8 for a in range(11)] for h in range(8)] LP=[[[-1000]*8 for a in range(11)] for h in range(8)] LM=[[[-1000]*8 for a in range(11)] for h in range(8)] AA=[0]*8;O=[0]*8;J=[0]*8;C=[0]*8;D=[0]*8 Z=[[0]*8 for i in range(72)] U=[[0]*72 for h in range(8)];V=[[0]*72 for h in range(8)] H=0 for i in range(72): x=X[i];y=Y[i];t=TT[i];p=PP[i] for h in range(8): w,xi,eta=M[h] u=x+((T-t)*(w*(y-11)+xi))//128 v=y+((T-t)*(-w*(x-15)+eta))//128 U[h][i]=u;V[h][i]=v if u<0 or u>30 or v<0 or v>22: z=0 else: a=u//3;b=v//3 last=(LP if p==1 else LM)[h][a][b] if t-last<=7: z=1 if p==1 else 2 else: z=3 if p==1 else 4 p0=P[h][a][b];n0=N[h][a][b];d=p0-n0;m=p0+n0 if p==1:P[h][a][b]=p0+1 else:N[h][a][b]=n0+1 if p==1:LP[h][a][b]=t else:LM[h][a][b]=t AA[h]+=1 if m==0:O[h]+=1 J[h]+=p C[h]+=2*p*d+1 if (p==1 and n0>0) or (p==-1 and p0>0):D[h]+=1 Z[i][h]=z H=(37*H+19*(i+1)+23*(h+1)+11*(u+32)+13*(v+32)+17*(z+1)+C[h]+7*AA[h]+5*O[h]+3*D[h]+J[h]+72)%9973 Vh=[88*C[h]-J[h]*J[h] for h in range(8)] Kh=[AA[h]-2*D[h] for h in range(8)] best=max(range(8),key=lambda h:(Vh[h],Kh[h],-O[h],-h)) dx=1 if M[best][1]>0 else -1 dy=1 if M[best][2]>0 else -1 EP=[[-1000]*8 for a in range(11)] EM=[[-1000]*8 for a in range(11)] S=0 for i in range(72): if Z[i][best] not in (3,4):continue u=U[best][i];v=V[best][i] a=u//3;b=v//3 ap=a-dx;bp=b-dy t=TT[i];p=PP[i] Ep=(EP if p==1 else EM)[a][b] Eo=(EM if p==1 else EP)[a][b] Epg=(EP if p==1 else EM)[ap][bp] if 0<=ap<=10 and 0<=bp<=7 else -1000 Eog=(EM if p==1 else EP)[ap][bp] if 0<=ap<=10 and 0<=bp<=7 else -1000 qs=(1 if 4<=t-Ep<=12 else 0)+(1 if 4<=t-Epg<=12 else 0) qo=(1 if 1<=t-Eo<=6 else 0)+(1 if 1<=t-Eog<=6 else 0) if qs>=1 and qo==0:S+=1 if p==1:EP[a][b]=t else:EM[a][b]=t print(best,S,H,Vh,Kh,AA,O,J,C,D)'