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)))