W = 100 T = matrix(2*W+1, 2*W+1) flip(z) = (T[real(z)+W+1,imag(z)+W+1]++)%2 { z = 0; dir = 1; count = 0; for (n=0, 10 000, print (n " " count); if (flip(z), \\ white square count++; dir /= (1+I), \\ black square count--; dir *= (1+I) ); dir /= gcd(real(dir), imag(dir)); z += dir; ); } quit