#include <bits/stdc++.h>
int getbn(std::string s[], int h, int w, int i, int j) {
  int cnt = 0;
  for (int x = i - 1; x <= i + 1; x++) {
    for (int y = j - 1; y <= j + 1; y++) {
      if (x < 0 or y < 0 or x >= h or y >= w) {
        continue;
      }
      if (s[x][y] == '#') {
        cnt += 1;
      }
    }
  }
  return cnt;
}
int main() {
  int h, w;
  std::cin >> h >> w;
  std::string s[h];
  for (int i = 0; i < h; i++) {
    std::cin >> s[i];
  }
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      char d;
      if (s[i][j] == '#') {
        d = '#';
      } else {
        int n = getbn(s, h, w, i, j);
        d = '0' + n;
      }
      std::cout << d;
    }
    std::cout << std::endl;
  }
  return 0;
}
