import sys
n, m = map(int, sys.stdin.readline().split())
a = [[0] * m for _ in range(n)] # 存储原始输入(雷为1,非雷为0)
b = [[0] * m for _ in range(n)] # 存储最终结果
for i in range(n):
c = sys.stdin.readline().strip()
for j in range(m):
if c[j] == "*":
a[i][j] = 1
else:
a[i][j] = 0
# 8个方向的偏移量
directions = [(-1, -1), (-1, 0), (-1, 1), (0, -1), (0, 1), (1, -1), (1, 0), (1, 1)]
for i in range(n):
for j in range(m):
if a[i][j] == 1:
b[i][j] = -1 # 用-1标记雷
else:
count = 0
for dx, dy in directions:
ni, nj = i + dx, j + dy
if 0 <= ni < n and 0 <= nj < m:
if a[ni][nj] == 1: # 如果是雷
count += 1
b[i][j] = count # 存储雷的数量
for i in range(n):
for j in range(m):
if b[i][j] == -1:
print("*", end="")
else:
print(b[i][j], end="")
print()