#include <bits/stdc++.h>
using namespace std;
const long long int inf = 1e9 + 7;
long long int gcd(long long int a, long long int b) {
  return (b ? gcd(b, a % b) : a);
}
long long int lcm(long long int a, long long int b) {
  return a / (gcd(a, b)) * b;
}
int main() {
  int h, w;
  cin >> h >> w;
  char s[3 + 2][5 + 2];
  for (int i = (int)(1); i < (int)(h + 1); i++)
    for (int j = (int)(1); j < (int)(w + 1); j++) cin >> s[i][j];
  for (int i = (int)(0); i < (int)(w + 2); i++)
    s[0][i] = '.', s[h + 1][i] = '.';
  for (int i = (int)(1); i < (int)(h + 1); i++)
    s[i][0] = '.', s[i][w + 1] = '.';
  for (int i = (int)(1); i < (int)(h + 1); i++) {
    for (int j = (int)(1); j < (int)(w + 1); j++) {
      int tmp = 0;
      if (s[i][j] == '#')
        cout << '#';
      else {
        for (int k = (int)(-1); k < (int)(2); k++)
          for (int l = (int)(-1); l < (int)(2); l++) {
            if (s[i + k][j + l] == '#') tmp++;
          }
        cout << tmp;
      }
    }
    cout << endl;
  }
}
