#include <stdio.h>
int juzhen(int i,int j,int a,int b,int arr [a][b]){
int x,y;
int count=0;
for(int c=-1;c<2;c++){
for(int d=-1;d<2;d++){
if(c==0 && d==0){ continue;}
x=i+c,y=j+d;
if(x>=0 && y>=0 && x<a && y<b ){
if(arr [x][y]=='*'){
count++;
}
}
}
}
return count;
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
int arr [a][b];
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
char c;
scanf(" %c",&c); //这块真是我服了,要注意用空格%c来防止读入字符之间的空格
arr [i][j]=c;
}
}
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
if(arr [i][j]=='*'){
printf("*");
}else{
printf("%d",juzhen(i,j,a,b,arr));
}
}
printf("\n");
}
return 0;
}