#include <stdio.h>
int main() {
int n = 0, m = 0, i = 0, j = 0, count[1001][1001], p = 0, q = 0;
char ch[1001][1001];
while (scanf("%d %d", &n, &m) != EOF) {//可以多组输入
for (i = 0; i < n + 2; i++) {//将棋盘定为(n+2)*(m+2)
for (j = 0; j < m + 2; j++) {
if (i == 0 || j == 0 || i == n + 1 || j == m + 1)//外围为空
ch[i][j] = ' ';
else
scanf(" %c", &ch[i][j]);//赋值
}
}
for (i = 1; i < n + 1; i++)//判断*数量
for (j = 1; j < m + 1; j++) {
count[i][j] = 0;
for (p = 0; p < 3; p++)
for (q = 0; q < 3; q++)
if (ch[i - 1 + p][j - 1 + q] == '*')
count[i][j]++;
}
for (i = 1; i < n + 1; i++) {//打印
for (j = 1; j < m + 1; j++) {
if (ch[i][j] == '*')
printf("*");
else
printf("%d", count[i][j]);
}
printf("\n");
}
}
return 0;
}