import sys; input = sys.stdin.readline from collections import deque R, C = map(int, input().split()) m = [[*map(lambda x: ord(x)-64, input())] for _ in range(R)] delta = ((1, -1), (1, 0), (1, 1), (0, 1), (-1, 1), (-1, 0), (-1, -1), (0, -1)) q, d, vis = deque([(i, -1) for i in range(R*C) if m[i//C][i%C] == 23]), {}, [0]*(R*C) while q: u, s = q.popleft() if vis[u]: continue r, c = u//C, u%C if m[r][c] not in d: d[m[r][c]] = s vis[u] = 1 for dr, dc in delta: # expand on-the-go if 0<=r+dr