m = int(input())
n = int(input())
grid = [list(input()) for _ in range(n)]
def _next(g):
_g = [['.' for _ in range(m)] for _ in range(n)]
for i in range(n):
for j in range(m):
ele = g[i][j]
if ele != '.':
if ele == 'Y':
_g[i][j] = 'Y'
for di, dj in ((1, 0), (-1, 0), (0, 1), (0, -1)):
x, y = i + di, j + dj
if 0 <= x < n and 0 <= y < m and g[x][y] == '.':
_g[x][y] = '0'
else:
r = int(ele) + 1
if r == 10:
_g[i][j] = 'Y'
else:
_g[i][j] = str(r)
return _g
max_tree = 0
for x in range(n):
for y in range(m):
if grid[x][y] != 'Y':
g = [r[:] for r in grid]
g[x][y] = '0'
for _ in range(33):
g = _next(g)
print()
print('\n'.join(''.join(r) for r in g))
max_tree = max(max_tree, sum(r.count('Y') for r in g))
print(max_tree)
To embed this program on your website, copy the following code and paste it into your website's HTML: