n, m = map(int, input().split())
fir = []
# 这一步我用来输入地雷图
for i in range(n):
e1 = input()
fir.append(e1)
dp = [[0] * m for i in range(n)]
def sousuo(arr, i, j):
# 以单点搜索以i,j为中心8方位矩阵
cnt = 0
n, m = len(arr), len(arr[0])
# 搜索限制,周围8点位
listLimit = (-1, 0, 1)
for dx in listLimit:
for dy in listLimit:
# 跳过自身
if dx == 0 and dy == 0:
continue
x = i + dx
y = j + dy
# 在这里处理了单点边界问题
if 0 <= x < n and 0 <= y < m:
if arr[x][y] == "*":
cnt += 1
return cnt
for i in range(n):
for j in range(m):
if fir[i][j] == "*":
dp[i][j] = "*"
else:
dp[i][j] = sousuo(fir, i, j)
for i in dp:
print("".join(map(str, i)))