#include <bits/stdc++.h>
using namespace std;

int main() {
        int H, W;
        cin >> H >> W;
        char s[H][W];
        int t[H][W] = {};

        for (int i = 0; i < H; i++) {
                for (int j = 0; j < W; j++) {
                        cin >> s[i][j];
                }
        }

        for (int i = 0; i < H; i++) {
                for (int j = 0; j < W; j++) {
                        if (i == 0) { // 最上段
                                if (j == 0) { // 左端
                                        if (s[0][1] == '#') { // 右
                                                t[0][0]++;
                                        }
                                        if (s[1][0] == '#') { // 下
                                                t[0][0]++;
                                        }
                                        if (s[1][1] == '#') { // 右下
                                                t[0][0]++;
                                        }
                                }
                                if (0 < j && j < (W - 1)) { // 端以外
                                        if (s[0][j - 1] == '#') { // 左
                                                t[0][j]++;
                                        }
                                        if (s[0][j + 1] == '#') { // 右
                                                t[0][j]++;
                                        }
                                        if (s[1][j] == '#') { // 下
                                                t[0][j]++;
                                        }
                                        if (s[1][j - 1] == '#') { // 左下
                                                t[0][j]++;
                                        }
                                        if (s[1][j + 1] == '#') { // 右下
                                                t[0][j]++;
                                        }
                                }
                                if (j == (W - 1)) { // 右端
                                        if (s[0][j - 1] == '#') { // 左
                                                t[0][W - 1]++;
                                        }
                                        if (s[1][j] == '#') { // 下
                                                t[0][W - 1]++;
                                        }
                                        if (s[1][j - 1] == '#') { // 左下
                                                t[0][W - 1]++;
                                        }
                                }
                        }
                        if (0 < i && i < (H - 1)) { // 最上段と最下段以外
                                if (j == 0) { // 左端
                                        if (s[i - 1][0] == '#') { // 上
                                                t[i][0]++;
                                        }
                                        if (s[i][1] == '#') { // 右
                                                t[i][0]++;
                                        }
                                        if (s[i + 1][0] == '#') { // 下
                                                t[i][0]++;
                                        }
                                        if (s[i - 1][1] == '#') { // 右上
                                                t[i][0]++;
                                        }
                                        if (s[i + 1][1] == '#') { // 右下
                                                t[i][0]++;
                                        }
                                }
                                if (0 < j && j < (W - 1)) { // 端以外
                                        if (s[i - 1][j] == '#') { // 上
                                                t[i][j]++;
                                        }
                                        if (s[i][j + 1] == '#') { // 右
                                                t[i][j]++;
                                        }
                                        if (s[i + 1][j] == '#') { // 下
                                                t[i][j]++;
                                        }
                                        if (s[i][j - 1] == '#') { // 左
                                                t[i][j]++;
                                        }
                                        if (s[i - 1][j - 1] == '#') { // 左上
                                                t[i][j]++;
                                        }
                                        if (s[i - 1][j + 1] == '#') { // 右上
                                                t[i][j]++;
                                        }
                                        if (s[i + 1][j - 1] == '#') { // 左下
                                                t[i][j]++;
                                        }
                                        if (s[i + 1][j + 1] == '#') { // 右下
                                                t[i][j]++;
                                        }
                                }
                                if (j == (W - 1)) { // 右端
                                        if (s[i - 1][W - 1] == '#') { // 上
                                                t[i][W - 1]++;
                                        }
                                        if (s[i][W - 2] == '#') { // 左
                                                t[i][W - 1]++;
                                        }
                                        if (s[i + 1][W - 1] == '#') { // 下
                                                t[i][W - 1]++;
                                        }
                                        if (s[i - 1][W - 2] == '#') { // 左上
                                                t[i][W - 1]++;
                                        }
                                        if (s[i + 1][W - 2] == '#') { // 左下
                                                t[i][W - 1]++;
                                        }
                                }
                        }
                        if (i == (H - 1)) { // 最下段
                                if (j == 0) { // 左端
                                        if (s[H - 2][0] == '#') { // 上
                                                t[H - 1][j]++;
                                        }
                                        if (s[H - 1][1] == '#') { // 右
                                                t[H - 1][j]++;
                                        }
                                        if (s[H - 2][1] == '#') { // 右上
                                                t[H - 1][j]++;
                                        }
                                }
                                if (0 < j && j < (W - 1)) { // 端以外
                                        if (s[H - 1][j - 1] == '#') { // 左
                                                t[H - 1][j]++;
                                        }
                                        if (s[H - 2][j] == '#') { // 上
                                                t[H - 1][j]++;
                                        }
                                        if (s[H - 1][j + 1] == '#') { // 右
                                                t[H - 1][j]++;
                                        }
                                        if (s[H - 2][j - 1] == '#') { // 左上
                                                t[H - 1][j]++;
                                        }
                                        if (s[H - 2][j + 1] == '#') { // 右上
                                                t[H - 1][j]++;
                                        }
                                }
                                if (j == (W - 1)) { // 右端
                                        if (s[H - 2][W - 1] == '#') { // 上
                                                t[H - 1][W - 1]++;
                                        }
                                        if (s[H - 1][W - 2] == '#') { // 左
                                                t[H - 1][W - 1]++;
                                        }
                                        if (s[H - 2][W - 2] == '#') { // 左上
                                                t[H - 1][W - 1]++;
                                        }
                                }
                        }
                }
        }
        for (int i = 0; i < H; i++) {
                for (int j = 0; j < W; j++) {
                        if (s[i][j] == '#') {
                            cout << s[i][j];
                        } else {
                            cout << t[i][j];
                        }
                }
                cout << endl;
        }
}
