def read_data(): H, W = map(int, input().split()) S = [input() for i in range(H)] return H, W, S def solve(H, W, S): dist = [[-1] * W for i in range(H)] for h in range(H): d = 0 Sh = S[h] disth = dist[h] for w, c in enumerate(Sh): if c == '#': d += 1 if disth[w] == -1 or disth[w] > d: disth[w] = d else: d = 0 for h in range(H): d = 0 Sh = S[h] disth = dist[h] for w in range(W-1, -1, -1): c = Sh[w] if c == '#': d += 1 if disth[w] == -1 or disth[w] > d: disth[w] = d else: d = 0 for w in range(W): d = 0 Sw = S[w] distw = dist[w] for h, c in enumerate(Sw): if c == '#': d += 1 if distw[h] == -1 or distw[h] > d: distw[h] = d else: d = 0 for w in range(W): d = 0 Sw = S[w] distw = dist[w] for h in range(H-1, -1, -1): if c == '#': d += 1 if distw[h] == -1 or distw[h] > d: distw[h] = d else: d = 0 maxd = 0 for row in dist: maxd = max(maxd, max(row)) return maxd H, W, S = read_data() print(solve(H, W, S))