#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  string walls[W];
  for (int j = 0; j < 2; j++) {
    if (j == 0) {
      for (int i = 0; i < H; i++) {
        cin >> walls[i];
      }
    } else {
      for (int i = 0; i < H; i++) {
        for (int k = 0; k < W; k++) {
          if (walls[i].at(k) == '.') {
            int sum = 0;
            if (i == 0) {
              if (k == 0) {
                if (walls[i].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k) == '#') {
                  sum++;
                }
              } else if (k == W - 1) {
                if (walls[i].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k - 1) == '#') {
                  sum++;
                }
              } else {
                if (walls[i].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k) == '#') {
                  sum++;
                }
              }
            } else if (i == H - 1) {
              if (k == 0) {
                if (walls[i].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k) == '#') {
                  sum++;
                }
              } else if (k == W - 1) {
                if (walls[i].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k - 1) == '#') {
                  sum++;
                }
              } else {
                if (walls[i].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k) == '#') {
                  sum++;
                }
              }
            } else {
              if (k == 0) {
                if (walls[i - 1].at(k) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k) == '#') {
                  sum++;
                }
              } else if (k == W - 1) {
                if (walls[i].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k - 1) == '#') {
                  sum++;
                }
              } else {
                if (walls[i + 1].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k) == '#') {
                  sum++;
                }
                if (walls[i + 1].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k + 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k - 1) == '#') {
                  sum++;
                }
                if (walls[i - 1].at(k) == '#') {
                  sum++;
                }
              }
            }
            char c = '0' + sum;
            walls[i].at(k) = c;
          }
        }
      }
    }
  }
  for (int i = 0; i < H; i++) {
    cout << walls[i] << endl;
  }
}
