s''map{$j ^=1;map{$g{$j}{ $_}=1}split//}spl it"/",$G||="23/3";s ub#g{$z=pop;$r=\$C[ 64*$x+$y];$Q=$x<0|| $x>63||$y<0||$y>63? 0:$$r;if($z>=0&&$ Q!=$z){$$r=$z;$ M=512*$x+ 8*$y;$I=$ I[$M]and$c->del ete($I);$I[$M]=cr eateOval$c(3+8*$x,3 +8*$y,9+8*$x,9+8*$y ,-f=>$z?"blue":$N,o utline=>$N)}$Q}use# Tk;$m=new#MainWin dow(title=>$G); $c=$m->Ca nvas(w,51 4,he,514) ->pack;af ter$m(1,sub{$N= cget$c(bg);@S=0 ..63;map{$a=2+8 *$_;@D=(2,$a,515, $a);map{createLin e$c(@D);@D=($a,@D );pop@D}7..8}@S,64; $F?do{open(_,$F);ma p{$x=0;map{g(/@/);$ x++}split//;++$y;}< _>}:map{$x=$_;map{$ y=$_;g(1>rand#4)}@S }@S;{for$p(@S){map{ $q=$_;$t=0;for$v(-1 ..1){map{$x=$p+$_;$ y=$v+$q;$g=g(-1);$_ ||$v#or$G=$g;$t+=$g ;}(-1..1)}$N[64*$p+ $q]=$g{$G||0}{$t- $G}}@S}for$x(@S){ map{$y=$_;g+$N[64 *$x+$_]}@S}upda te$m;redo}});Ma inLoop';s#\s##g ;s&#& &g; ($F,$G)=@ ARGV;eval