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