#!/usr/bin/perl -w $s=2;($p)=@m=(0,0,1,0);$/=\1; sub t{@m[2,3]=(0,0);for$y(split//,$_[0]){for(2,3) { $m[$_]+={n=>[-1,0],s=>[1,0],e=>[0,1],w=>[0,-1]}->{$y}->[$_-2];}}} $SIG{__WARN__}=sub{$p=!$p};seek DATA,0,0; for (qw( 6 se p 2 e 2 ne 2 n 5 p e 2 s 8 p n 6 ne 2 e 1 se 2 s 5 n 2 w 4 e 4 p e 2 s 3 p n 8 e 4 se 1 s 2 sw 1 w 4 p se 4 e 3 p n 8 s 4 e 4 n 4 s 7 )) { $_[0]=$_;tr/nsew//?&t:&f} sub f{for(1..$_[0]*$s) {for(0,1){$m[$_]+=$m[$_+2]}if ($p){while(){$t=$_;tr/\n\t //||last;}}$g[$m[0]][$m[1]]=$p?$t:" ";}} for$i(0..20){for(0..60){print $g[$i][$_]||" ";}print"\n";} __END__