#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  vector<vector<char>> vec(H, vector<char>(W));
  vector<vector<char>> mine(H, vector<char>(W, '0'));
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      cin >> vec.at(i).at(j);
      if (vec.at(i).at(j) == '#') {
        mine.at(i).at(j) = '#';
        for (int k : {-1, 0, 1}) {
          for (int l : {-1, 0, 1}) {
            if (-1 < i + k < H and -1 < j + l < W) {
              if (vec.at(i + k).at(j + l) != '#') {
                int num;
                num = (int)mine.at(i + k).at(j + l);
                num += 1;
                mine.at(i + k).at(j + l) = (char)num;
              }
            }
          }
        }
      }
    }
  }
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      cout << mine.at(i).at(j);
      if (j == W - 1) {
        cout << endl;
      }
    }
  }
}
