# import pypyjit # pypyjit.set_param('max_unroll_recursion=-1') from collections import * from itertools import * from functools import * from heapq import * import sys,math input = sys.stdin.readline H,W = map(int,input().split()) M = 1 dp0 = list(input())[:-1] dp0 = [int(i=='#') for i in dp0] for _ in range(H-1): dp1 = list(input())[:-1] dp1 = [int(i=='#') for i in dp1] for j in range(1,W): if dp1[j]==1: dp1[j] = min(dp1[j-1],dp0[j],dp0[j-1])+1 M = max(M,dp1[j]) dp0 = dp1[:] print((M+1)//2)