import sys



data = sys.stdin.read().splitlines()
n,m = map(int,data[0].split())
grid = []
for i in range(1,n+1):
    grid.append(list(data[i].strip()))

directions = [(-1,-1),(-1,0),(-1,1),
                (0,-1),     (0,1),
                (1,-1),(1,0),(1,1)]
result = [['0'] * m for _ in range(n)]
for i in range(n):
    for j in range(m):
        if grid[i][j] == '*':
            result[i][j] = '*'
        else:
            count = 0
            for dx,dy in directions:
                ni,nj = i + dx,j + dy
                if 0<= ni <n and 0 <= nj < m:
                    if grid[ni][nj] == '*':
                        count += 1
            result[i][j] = str(count)
                
for i in range(n):
    print(''.join(result[i]))