                    /**/#include<unistd.h>/***/
                   /**/#include<stdio.h>/***/
                  int*p,*q,s[1<<20],j,x,y,z
                 =1;int main(){int W=w/2,
                H=h/2,M=W-~W,N=W*H,T=M*
               H*2,i=N+(2-W-H*3)/2,R=
              getpid();p=s+T*02;for
             (s[*p=i+i%(W+W-3)/(W
            -1)*2+i/(M-4)*4-~W]
           =7;z;){for(x=p[i=(
          R=65535&(R*3533+1
         ))%z--],p[i]=*p,
        *p++=x,i=7;W<=x&&x<M*H&&x%M%W&&x%
       M-W+1&&--i;){!s[y=x+~-i/2*W-W-i%
      2+i/4]?s[p[z++]=y]=i,s[y+T]=x:0
     ;}}for(;p>s+T*2;*q|=*q*20<N?7:
                 0,s[q[T]]+=*q/8*
                8+8){q=s+*--p;}
               for(;j<T;i=j&1
              ,y=p[W+1],z=x
             +y+*p,printf
            ("\x1b[%d;"
           "33;%dm%c\x1b[0m",z>N*4?
          1:z>N?0:2,x%8-3&&y%8-4?
         33:4,j%M?*p%8+~i&&(i?x
        :y)%8-6+i?32:i?47:92:
                   10)){x=W
                  [p=j++/
                 2+s];}
                return
               /*/*
              /*/
             0;
            }
