#!/usr/bin/env python3.8 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines import numpy as np # %% H, W = map(int, readline().split()) S = np.frombuffer(read(), 'S1').reshape(H, -1)[:, :W] # %% INF = 10 ** 8 dist = np.zeros((H + 2, W + 2), np.int32) dist[1:-1, 1:-1] += INF * (S == b'#') # %% for _ in range(4): dist = dist[::-1].T for n in range(1, H + 2): np.minimum(dist[n], dist[n - 1] + 1, out=dist[n]) np.minimum(dist[n, 1:], dist[n - 1, :-1] + 1, out=dist[n, 1:]) # %% print(dist.max())