perl -e ' @m=(_,"|")x345;{my@a;!$v{$_}&$_>0&$_<346?push@a,$_:0for($p-1)%23?$p-1:0, $p%23?$p+1:0,$p+23,$p-23;$p=pop@v,redo if!@a;(($r=$a[@a*rand])-$p)**2>1? $m[$r>$p?2*$p-2:2*$r-2]=$":($m[$r>$p?2*$p-1:$r*2-1]=_);push@v,$p;$v{$p}= $p=$r;keys%v<345&&redo}print$l?"":"\ec"."_"x47,$l++%46?"":"$/|",$_ for@m ' | perl -e ' $|=print"\ec",@m=map{s#\ec##;split//}<>;{$v{$p=$r||50}=1;my@a;!$v{$_}&$_ >0&$_<767?push@a,$_:1for$m[$p-2]eq _?$p-2:0,$m[$p]eq _?$p+2:0,$m[$p-1]ne _?$p+48:0,$m[$p-49]ne _?$p-48:0;select$q,$q,$q,.1;printf"\e[%d;%dH",1+$p /48,$p%48;$p>765?exit:1;$r=!@a?pop@v:$a[@a*rand];push@v,$p if@a;redo} ';