# -*- coding:utf-8 -*- from heapq import heappop, heappush if __name__ == "__main__": w,h = map(int,raw_input().split()) c = [raw_input()for i in range(h)] arrived = [[False for i in xrange(w)]for j in xrange(h)] direc = [(1,0),(-1,0),(0,1),(0,-1)] for i in xrange(h): for j in range(w): if c[i][j] == ".": hp = [] heappush(hp,(0,i,j)) arrived[i][j] = True while len (hp) != 0: (d,a,b) = heappop(hp) if d > 0 and c[a][b] == ".": print d exit() for da,db in direc: na = a + da nb = b + db nd = d if na >= 0 and nb >= 0 and na < h and nb < w and arrived[na][nb] == False: if c[na][nb] == "#": nd += 1 arrived[na][nb] = True heappush(hp,(nd,na,nb))