#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W;
  cin >> H >> W;
  vector<char> vec(H * W);
  vector<int> sharp(H * W);
  for (int i = 0; i < H * W; i++) {
    cin >> vec.at(i);
  }
  for (int j = 0; j < H * W; j++) {
    if (j == 0) {
      if (vec.at(1) == '#') sharp.at(j)++;
      if (vec.at(W) == '#') sharp.at(j)++;
      if (vec.at(W + 1) == '#') sharp.at(j)++;
    } else if (j == W - 1) {
      if (vec.at(W - 2) == '#') sharp.at(j)++;
      if (vec.at(W * 2 - 1) == '#') sharp.at(j)++;
      if (vec.at(W * 2 - 2) == '#') sharp.at(j)++;
    } else if (j == H * W - W) {
      if (vec.at(H * W - W * 2) == '#') sharp.at(j)++;
      if (vec.at(H * W - W * 2 + 1) == '#') sharp.at(j)++;
      if (vec.at(H * W - W + 1) == '#') sharp.at(j)++;
    } else if (j == H * W - 1) {
      if (vec.at(H * W - 2) == '#') sharp.at(j)++;
      if (vec.at(H * W - 1 - W) == '#') sharp.at(j)++;
      if (vec.at(H * W - 2 - W) == '#') sharp.at(j)++;
    } else if (j % W == 0 && j != 0 && j != H * W - W) {
      if (vec.at(j - W) == '#') sharp.at(j)++;
      if (vec.at(j - W + 1) == '#') sharp.at(j)++;
      if (vec.at(j + 1) == '#') sharp.at(j)++;
      if (vec.at(j + W) == '#') sharp.at(j)++;
      if (vec.at(j + W + 1) == '#') sharp.at(j)++;
    } else if (j % W == W - 1 && j != W - 1 && j != H * W - 1) {
      if (vec.at(j - W) == '#') sharp.at(j)++;
      if (vec.at(j - W - 1) == '#') sharp.at(j)++;
      if (vec.at(j - 1) == '#') sharp.at(j)++;
      if (vec.at(j + W - 1) == '#') sharp.at(j)++;
      if (vec.at(j + W) == '#') sharp.at(j)++;
    } else if (0 < j && j < W - 1) {
      if (vec.at(j - 1) == '#') sharp.at(j)++;
      if (vec.at(j + 1) == '#') sharp.at(j)++;
      if (vec.at(j + W - 1) == '#') sharp.at(j)++;
      if (vec.at(j + W) == '#') sharp.at(j)++;
      if (vec.at(j + W + 1) == '#') sharp.at(j)++;
    } else if (H * W - W < j && j < H * W - 1) {
      if (vec.at(j - 1) == '#') sharp.at(j)++;
      if (vec.at(j + 1) == '#') sharp.at(j)++;
      if (vec.at(j - W - 1) == '#') sharp.at(j)++;
      if (vec.at(j - W) == '#') sharp.at(j)++;
      if (vec.at(j - W + 1) == '#') sharp.at(j)++;
    } else {
      if (vec.at(j + W - 1) == '#') sharp.at(j)++;
      if (vec.at(j + W) == '#') sharp.at(j)++;
      if (vec.at(j + W + 1) == '#') sharp.at(j)++;
      if (vec.at(j - 1) == '#') sharp.at(j)++;
      if (vec.at(j + 1) == '#') sharp.at(j)++;
      if (vec.at(j - W - 1) == '#') sharp.at(j)++;
      if (vec.at(j - W) == '#') sharp.at(j)++;
      if (vec.at(j - W + 1) == '#') sharp.at(j)++;
    }
    if (vec.at(j) == '#')
      cout << '#';
    else
      cout << sharp.at(j);
    if (j % W == W - 1) cout << endl;
  }
}
