#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  string S;
  for (int i = 0; i < H; i++) {
    string Sx;
    cin >> Sx;
    S += Sx;
  }
  for (int i = 0; i < H * W; i++) {
    if (S.at(i) == '.') S.at(i) = '0';
  }
  for (int i = 0; i < H * W; i++) {
    if (S.at(i) == '#') {
      if (i == 0) {
        if (S.at(i + 1) != '#') S.at(i + 1) += 1;
        if (S.at(i + W) != '#') S.at(i + W) += 1;
        if (S.at(i + W + 1) != '#') S.at(i + W + 1) += 1;
      } else if (i == W - 1) {
        if (S.at(i - 1) != '#') S.at(i - 1) += 1;
        if (S.at(i + W) != '#') S.at(i + W) += 1;
        if (S.at(i + W - 1) != '#') S.at(i + W - 1) += 1;
      } else if (0 < i && i < W - 1) {
        if (S.at(i - 1) != '#') S.at(i - 1) += 1;
        if (S.at(i + 1) != '#') S.at(i + 1) += 1;
        if (S.at(i + W - 1) != '#') S.at(i + W - 1) += 1;
        if (S.at(i + W) != '#') S.at(i + W) += 1;
        if (S.at(i + W + 1) != '#') S.at(i + W + 1) += 1;
      } else if (i == H * W - 1) {
        if (S.at(i - 1) != '#') S.at(i - 1) += 1;
        if (S.at(i - W) != '#') S.at(i - W) += 1;
        if (S.at(i - W - 1) != '#') S.at(i - W - 1) += 1;
      } else if (i == H * W - W) {
        if (S.at(i + 1) != '#') S.at(i + 1) += 1;
        if (S.at(i - W) != '#') S.at(i - W) += 1;
        if (S.at(i - W + 1) != '#') S.at(i - W + 1) += 1;
      } else if (H * W - W < i && i < H * W - 1) {
        if (S.at(i - 1) != '#') S.at(i - 1) += 1;
        if (S.at(i + 1) != '#') S.at(i + 1) += 1;
        if (S.at(i - W - 1) != '#') S.at(i - W - 1) += 1;
        if (S.at(i - W) != '#') S.at(i - W) += 1;
        if (S.at(i - W + 1) != '#') S.at(i - W + 1) += 1;
      } else if (i % W == 0) {
        if (S.at(i + 1) != '#') S.at(i + 1) += 1;
        if (S.at(i + W) != '#') S.at(i + W) += 1;
        if (S.at(i + W + 1) != '#') S.at(i + W + 1) += 1;
        if (S.at(i - W + 1) != '#') S.at(i - W + 1) += 1;
        if (S.at(i - W) != '#') S.at(i - W) += 1;
      } else if (i % W == W - 1) {
        if (S.at(i - 1) != '#') S.at(i - 1) += 1;
        if (S.at(i + W) != '#') S.at(i + W) += 1;
        if (S.at(i + W - 1) != '#') S.at(i + W - 1) += 1;
        if (S.at(i - W) != '#') S.at(i - W) += 1;
        if (S.at(i - W - 1) != '#') S.at(i - W - 1) += 1;
      } else {
        if (S.at(i + 1) != '#') S.at(i + 1) += 1;
        if (S.at(i + W) != '#') S.at(i + W) += 1;
        if (S.at(i + W + 1) != '#') S.at(i + W + 1) += 1;
        if (S.at(i - W + 1) != '#') S.at(i - W + 1) += 1;
        if (S.at(i - W) != '#') S.at(i - W) += 1;
        if (S.at(i - 1) != '#') S.at(i - 1) += 1;
        if (S.at(i + W - 1) != '#') S.at(i + W - 1) += 1;
        if (S.at(i - W - 1) != '#') S.at(i - W - 1) += 1;
      }
    }
  }
  for (int i = 0; i < H * W; i++) {
    cout << S.at(i);
    if (i % W == W - 1) cout << endl;
  }
}
