#include <bits/stdc++.h>
using namespace std;
int main() {
  int h, w;
  cin >> h >> w;
  vector<vector<int> > data(h, vector<int>(w, 0));
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      string str;
      cin >> str;
      if (str == "#") {
        data.at(i).at(j) += 10;
        if (j == 0) {
          data.at(i).at(j + 1) += 1;
        } else if (j == w - 1) {
          data.at(i).at(j - 1) += 1;
        } else {
          data.at(i).at(j - 1) += 1;
          data.at(i).at(j + 1) += 1;
        }
      } else {
        data.at(i).at(j) += 0;
      }
    }
  }
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (i == 0 && data.at(i).at(j) >= 10) {
        data.at(i + 1).at(j) += 1;
      } else if (i == h - 1 && data.at(i).at(j) >= 10) {
        data.at(i - 1).at(j) += 1;
      } else if (data.at(i).at(j) >= 10) {
        data.at(i - 1).at(j) += 1;
        data.at(i + 1).at(j) += 1;
        data.at(i - 1).at(j - 1) += 1;
        data.at(i - 1).at(j + 1) += 1;
        data.at(i + 1).at(j - 1) += 1;
        data.at(i + 1).at(j + 1) += 1;
      }
    }
  }
  for (int i = 0; i < h; i++) {
    for (int j = 0; j <= w; j++) {
      if (j == w) {
        cout << endl;
        continue;
      }
      if (data.at(i).at(j) >= 10) {
        cout << "#";
      } else {
        cout << data.at(i).at(j);
      }
    }
  }
}
