#!/usr/bin/perl
$c=416;$z=0;while($z<80){if(!${$w=\$m[int(rand(15.99))][int(rand(25.99))]}){$$w=1;$z++}}for$i(0..15){for$j(0..25){$d[$i][$j]='+'}}until($e){d();if($c>80){g($k,$l);if($m[$k][$l]){$e=1}else{w($k,$l)}}else{$e=1}}for$i(0..15){for$j(0..25){if($m[$i][$j]){$d[$i][$j]='@'}}}d();if($c==80){print"WIN"}exit;sub d{print"  ";for$j(0..25){print" ".chr($j+65)}print"\n";for$i(0..15){print" ".chr($i+65);for$j(0..25){print" ".$d[$i][$j]}print"\n"}}sub g{$v=0;until($v){print"MOVE>";chomp($a=<STDIN>);if($a=~/END/){exit}if($a=~/[A-P][A-Z]/){@f=unpack("C*",$a);$_[0]=$f[0]-65;$_[1]=$f[1]-65;if($d[$_[0]][$_[1]]eq"+"){$v=1}}}}sub t{if($_[0]>=$_[1]&&$_[0]<=$_[2]){return 1}}sub w{local $i,$j;$n=0;for$i(($_[0]-1)..($_[0]+1)){for$j(($_[1]-1)..($_[1]+1)){if($i!=$_[0]||$j!=$_[1]){if(t($i,0,15)&&t($j,0,25)&&$m[$i][$j]){$n++}}}}$c-=1;if($n){$d[$_[0]][$_[1]]=$n}else{$d[$_[0]][$_[1]]=" ";for$i(($_[0]-1)..($_[0]+1)){for$j(($_[1]-1)..($_[1]+1)){if(t($i,0,15)&&t($j,0,25)&&$d[$i][$j]eq"+"){w($i,$j)}}}}}