#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;
}