#include <stdio.h>
#include <stdlib.h>

int count(char** ans, int i, int j, int m, int n){
    if(i< 0 || i >= m || j < 0 || j >= n || ans[i][j] != '*') return 0;
    return 1;
}

void change(char** ans, int m, int n){
    for(int i = 0; i < m; i++){
        for(int j = 0; j < n; j++){
            if(ans[i][j] == '0') {
                ans[i][j] = '0' + count(ans,i-1,j-1,m,n) 
                + count(ans,i-1,j,m,n)
                + count(ans,i-1,j+1,m,n) 
                + count(ans,i,j-1,m,n) 
                + count(ans,i,j+1,m,n) 
                + count(ans,i+1,j-1,m,n) 
                + count(ans,i+1,j,m,n) 
                + count(ans,i+1,j+1,m,n);  
            }
        }
    }
}

int main() {
    int m, n;
    scanf("%d %d",&m, &n);
    char** ans = malloc(sizeof(char*) * m);
    for(int i = 0; i < m; i++){
        ans[i] = malloc(sizeof(char) * n);
    }

    getchar();

    for(int i = 0; i < m; i++){
        for(int j = 0; j < n; j++){
            char c = getchar();
            if(c == '.')
                c = '0';
            ans[i][j] = c;
        }
        getchar();
    }

    change(ans, m, n);
    
    for(int i = 0; i < m; i++){
        for(int j = 0; j < n; j++){

            printf("%c",ans[i][j]);
        }
        printf("\n");
    }

    return 0;
}