n, m = map(int,input().split()) metrix = [list(input()) for _ in range(n)] #数据输入及初始化 for i in range(n): for j in range(m): if metrix[i][j] != '*': cot = 0 if i-1>=0 and j-1>=0 and metrix[i-1][j-1]=='*': cot += 1#左上 if i-1>=0 and metrix[i-1][j]=='*': cot += 1#上 if i-1>=0 and j+1<m and metrix[i-1][j+1]=='*': cot += 1#右上 if j-1>=0 and metrix[i][j-1]=='*': cot += 1#左 if j+1<m and metrix[i][j+1]=='*': cot += 1#右 if i+1<n and j-1>=0 and metrix[i+1][j-1]=='*': cot += 1#左下 if i+1<n and metrix[i+1][j]=='*': cot += 1#下 if i+1<n and j+1<m and metrix[i+1][j+1]=='*': cot += 1#右下 metrix[i][j] = str(cot) #遍历二维矩阵,判断每一个非地雷区域周边的地雷数量 print('\n'.join(map(''.join,metrix))) #数据格式化输出