($h,$w,$/)=glob<>;$s=<>; for$y(0..$h-1){ for$x(0..$w-1){ $a0{$x,$y}=1e4; for($x-1..$x+1){ $a0{$x,$y}=$a0{$_,$y-1} if $a0{$x,$y}>$a0{$_,$y-1}; } $a0{$x,$y}+=1; $a0{$x,$y}=0 if substr($s,$y*($w+1)+$x,1) eq '.'; $b0=$a0{$x,$y} if $b0<$a0{$x,$y}; } } for$y(reverse 0..$h-1){ for$x(0..$w-1){ $a1{$x,$y}=1e4; for($x-1..$x+1){ $a1{$x,$y}=$a1{$_,$y+1} if $a1{$x,$y}>$a1{$_,$y+1}; } $a1{$x,$y}+=1; $a1{$x,$y}=0 if substr($s,$y*($w+1)+$x,1) eq '.'; $b1=$a1{$x,$y} if $b1<$a1{$x,$y}; } } for$x(0..$w-1){ for$y(0..$h-1){ $a2{$x,$y}=1e4; for($y-1..$y+1){ $a2{$x,$y}=$a2{$x-1,$_} if $a2{$x,$y}>$a2{$x-1,$_}; } $a2{$x,$y}+=1; $a2{$x,$y}=0 if substr($s,$y*($w+1)+$x,1) eq '.'; $b2=$a2{$x,$y} if $b2<$a2{$x,$y}; } } for$x(reverse 0..$w-1){ for$y(0..$h-1){ $a3{$x,$y}=1e4; for($y-1..$y+1){ $a3{$x,$y}=$a3{$x+1,$_} if $a3{$x,$y}>$a3{$x+1,$_}; } $a3{$x,$y}+=1; $a3{$x,$y}=0 if substr($s,$y*($w+1)+$x,1) eq '.'; $b3=$a3{$x,$y} if $b3<$a3{$x,$y}; } } for$y(0..$h-1){ for$x(0..$w-1){ $c=1e4; for(a0,a1,a2,a3){ $c=$$_{$x,$y} if $c>$$_{$x,$y}; } $b=$c if $b<$c; } } print$b;