@m=((16,(15)x15)x10,(16)x16);{$m[$c]|=16;(@a=grep!($m[$c+@$_[$l=0]]&(16|$s*@$_[2])),[-1,1,2] ,[1,2,1],[-16,4,8],[16,8,4])?${($i,$j,$k)=@{$a[rand@a]},push@p,$c;$m[$c]&=~$j;$m[$c+=$i]&=~ $k;map{$_==16?$p:$_&=15}@m,$c=$s=1if++$v==150}:($c=pop@p) ;select$q,$q,$q,(print"\ec",(_)x30 ,map{$l++%16?($l-1==$c?o:$_&8?_:$").($_&2?"|":_):"$/|"}@m[0..160])/9if$s;$c>158&$s?0:redo}