5 use experimental 'multidimensional';
7 my @m = map { chomp; [ split // ] } <>;
12 for my $y (1 .. $ymax-2) {
13 for my $x (1 .. $xmax-2) {
17 for my $dx (reverse (0 .. $x-1)) {
19 last if $m[$y][$dx] >= $h;
24 for my $dx ($x+1 .. $xmax-1) {
26 last if $m[$y][$dx] >= $h;
31 for my $dy (reverse 0 .. $y-1) {
33 last if $m[$dy][$x] >= $h;
38 for my $dy ($y+1 .. $ymax-1) {
40 last if $m[$dy][$x] >= $h;
43 # say "$x $y $h $mul";
45 $max = $mul if $max < $mul;