allocate mem(2^30) M = 200 X = matrix(M,M) \\ y,z Y = matrix(M,M) \\ x,z Z = matrix(M,M) \\ x,y Xp = matrix(M,1+2*M) \\ x,y+z Yp = matrix(M,1+2*M) \\ y,x+z Zp = matrix(M,1+2*M) \\ z,x+y Xm = matrix(M,1+2*M) \\ x,y-z Ym = matrix(M,1+2*M) \\ y,x-z Zm = matrix(M,1+2*M) \\ z,x-y MM = matrix(1+2*M,1+2*M) \\ x-y,x-z MP = matrix(1+2*M,1+2*M) \\ x-y,x+z PM = matrix(1+2*M,1+2*M) \\ x+y,x-z PP = matrix(1+2*M,1+2*M) \\ x+y,x+z mex(x,y,z,v=0) = { bitor(X[1+y, 1+z] += v, bitor(Y[1+x, 1+z] += v, bitor(Z[1+x, 1+y] += v, bitor(Xp[1+x, 1+y+z] += v, bitor(Yp[1+y, 1+x+z] += v, bitor(Zp[1+z, 1+x+y] += v, bitor(Xm[1+x, 1+M+y-z] += v, bitor(Ym[1+y, 1+M+x-z] += v, bitor(Zm[1+z, 1+M+x-y] += v, bitor(MM[1+M+x-y, 1+M+x-z] += v, bitor(MP[1+M+x-y, 1+M+x+z] += v, bitor(PM[1+M+x+y, 1+M+x-z] += v, PP[1+M+x+y, 1+M+x+z] += v)))))))))))) } { n=-1; for (xyz=0, M-1, for (xy=0, xyz, z=xyz-xy; for (x=0, xy, y=xy-x; mask = mex(x,y,z); v = valuation(1+mask,2); mex(x,y,z, 2^v); if (x==0 && y==0, print (z " " v); ); ); ); ); } quit