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