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

int main() {
    int m = 0;
    int n = 0;
    scanf("%d %d", &m, &n);
    char* a = (char*)calloc((m + 2) * (n + 2), sizeof(char));
    int i = 0;
    int j = 0;
    for (i = 1; i < m + 1; i++) {
        for (j = 1; j < n + 1; j++) {
            scanf(" %c ", a + i * (n + 2) +j);
        }
    }
    int si = 0;
    int sj = 0;
    int num = 0;
    for (i = 1; i < m + 1; i++) {
        for (j = 1; j < n + 1; j++) {
            if (*(a + i * (n + 2) + j) == '*')//如果为 * 则直接输出 *
                printf("*");
            else { //如果不为 * 说明需要进行九宫格判断
                num = 0;
                sj = j - 1;
                for (si = i - 1; si <= i + 1; si++) {
                    for (sj = j - 1; sj <= j + 1; sj++) {
                        if (*(a + si * (n + 2) + sj) == '*')
                            num++;
                    }
                }
                printf("%c", '0'+num);
            }
        }
        printf("\n");
    }
    return 0;
}