#include <bits/stdc++.h>
using namespace std;
long long mm = 1000000000;
long long MM = mm + 7;
int main() {
  int h, w;
  cin >> h >> w;
  vector<vector<char>> s(h, vector<char>(w));
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      cin >> s.at(i).at(j);
    }
  }
  vector<vector<int>> ss(h, vector<int>(w));
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (s.at(i).at(j) == '#')
        continue;
      else {
        bool a = false;
        bool b = false;
        bool c = false;
        bool d = false;
        if (i == 0) a = true;
        if (j == 0) b = true;
        if (i == h - 1) c = true;
        if (j == w - 1) d = true;
        if (a && b) {
          if (s.at(i).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j + 1) == '#') ss.at(i).at(j)++;
        } else if (a && d) {
          if (s.at(i).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j) == '#') ss.at(i).at(j)++;
        } else if (b && c) {
          if (s.at(i - 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i).at(j + 1) == '#') ss.at(i).at(j)++;
        } else if (c && d) {
          if (s.at(i - 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i).at(j - 1) == '#') ss.at(i).at(j)++;
        } else if (a) {
          if (s.at(i).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j - 1) == '#') ss.at(i).at(j)++;
        } else if (b) {
          if (s.at(i).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j + 1) == '#') ss.at(i).at(j)++;
        } else if (c) {
          if (s.at(i - 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i).at(j - 1) == '#') ss.at(i).at(j)++;
        } else if (d) {
          if (s.at(i).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j - 1) == '#') ss.at(i).at(j)++;
        } else {
          if (s.at(i).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i + 1).at(j - 1) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j + 1) == '#') ss.at(i).at(j)++;
          if (s.at(i - 1).at(j - 1) == '#') ss.at(i).at(j)++;
        }
        s.at(i).at(j) = char(ss.at(i).at(j) + '0');
      }
    }
  }
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      cout << s.at(i).at(j);
      if (j == w - 1) cout <<　"" << endl;
    }
  }
}
