n,m=gets.split.map &:to_i a=(1..m).map{gets} c=999 (0...m).any?{|x|(0...n).any?{|y|a[x][y]>?-&&(a[x][y]=?! c.times{m.times{|x|n.times{|y|[[x+1,y],[x,y+1],[x-1,y],[x,y-1]].map{|z,w|a[x][y]?-&&(a[z][w]=?!)}}}})}} m.times{|x|n.times{|y|m.times{|z|n.times{|w|a[x][y]+a[z][w]==".!"&&c=[c,(x-z).abs+(y-w).abs-1].min}}}} p c