$_="DE3W1S3SW1NW1UN3E5DS3SE1E1NE1N3UE4DW1SW1SE1E1SE1SW1W1UN4E4DE3W2S4 US6W16DN3NE1E1SE1S3N2W2UE4S2DN4SE1S1SE1SE1N4UE3DE1SE1S2SW1W1NW1N2UN1E 5DE3W2S4UN4E4DS4N2E3S2N4UE5DW3S2E1SW1S1E3UE2DN4E2SE1SW1W1E1SE1S1US6W3 3DN4E2SE1SW1W1UE7N2DW3S2E1SW1S1E3UE2DN4E2SE1SW1W1E1SE1S1UE5DW3N4US6W1 5DS4N2E3N2S4UE2DN3NE1E1SE1S1W2E2S2UN1E5DSW1W1NW1N2NE1E1SE1UE2N1DS4N1N E3SW2SE2UE5DW3N2E1NW1N1E3US4E2DN4E2SE1SW1W1E1SE1S1";s/\s//g;%d=(N,[-1 ],NE,[-1,1],E,[0,1],SE,[1,1],S,[1],SW,[1,-1],W,[0,-1],NW,[-1,-1]);$c= "[NESW]+";map{if(/U|D/){$s=$_;$s eq"D"?$g[$n][$m]="#":0;}else{($v,$r) =/($c)(\d+)/}while($r){$n+=$d{$v}[0];$m+=$d{$v}[1];$z=\$g[$n][$m];$$z =$s eq"D"?"#":$$z;$r--}}/[UD]|$c\d+/g;for(;$a<@g;$a++){!defined@{$g[$ a]}?do{print$/;next}:0;for($z=0;$z<@{$g[$a]};$z++){print$g[$a][$z]?$g [$a][$z]:$"}print$/}