#include <bits/stdc++.h>
using namespace std;
int main() {
  int H, W, cnt = 0;
  cin >> H >> W;
  string S, nS, eS;
  if (H == 1) {
    cin >> S;
    if (W == 1) {
      if (S.at(0) == '#')
        cout << '#' << endl;
      else
        cout << 0 << endl;
    } else if (W == 2) {
      if (S.at(0) == '#') {
        if (S.at(1) == '#')
          cout << "##" << endl;
        else
          cout << "#1" << endl;
      } else {
        if (S.at(1) == '#')
          cout << "1#" << endl;
        else
          cout << "00" << endl;
      }
    } else {
      if (S.at(0) == '#')
        cout << '#';
      else {
        if (S.at(1) == '#') cnt++;
        cout << cnt;
      }
      for (int i = 1; i < W - 1; i++) {
        cnt = 0;
        if (S.at(i) == '#')
          cout << '#';
        else {
          if (S.at(i - 1) == '#') cnt++;
          if (S.at(i + 1) == '#') cnt++;
          cout << cnt;
        }
      }
      cnt = 0;
      if (S.at(W - 1) == '#')
        cout << '#' << endl;
      else {
        if (S.at(W - 2) == '#') cnt++;
        cout << cnt << endl;
      }
    }
  } else if (H == 2) {
    cin >> S >> nS;
    if (W == 1) {
      if (S.at(0) == '#') {
        cout << '#' << endl;
        if (nS.at(0) == '#')
          cout << '#' << endl;
        else
          cout << '1' << endl;
      } else {
        if (nS.at(0) == '#')
          cout << '1' << endl << '#' << endl;
        else
          cout << '0' << endl << '0' << endl;
      }
    } else if (W == 2) {
      if (S.at(0) == '#')
        cout << '#';
      else {
        if (S.at(1) == '#') cnt++;
        if (nS.at(0) == '#') cnt++;
        if (nS.at(1) == '#') cnt++;
        cout << cnt;
      }
      cnt = 0;
      if (S.at(1) == '#')
        cout << '#' << endl;
      else {
        if (S.at(0) == '#') cnt++;
        if (nS.at(0) == '#') cnt++;
        if (nS.at(1) == '#') cnt++;
        cout << cnt << endl;
      }
      cnt = 0;
      if (nS.at(0) == '#')
        cout << '#';
      else {
        if (nS.at(1) == '#') cnt++;
        if (S.at(0) == '#') cnt++;
        if (S.at(1) == '#') cnt++;
        cout << cnt;
      }
      cnt = 0;
      if (nS.at(1) == '#')
        cout << '#' << endl;
      else {
        if (nS.at(0) == '#') cnt++;
        if (S.at(0) == '#') cnt++;
        if (S.at(1) == '#') cnt++;
        cout << cnt << endl;
      }
    } else {
      if (S.at(0) == '#')
        cout << '#';
      else {
        if (S.at(1) == '#') cnt++;
        if (nS.at(0) == '#') cnt++;
        if (nS.at(1) == '#') cnt++;
        cout << cnt;
      }
      for (int i = 1; i < W - 1; i++) {
        cnt = 0;
        if (S.at(i) == '#')
          cout << '#';
        else {
          if (S.at(i - 1) == '#') cnt++;
          if (S.at(i + 1) == '#') cnt++;
          if (nS.at(i) == '#') cnt++;
          if (nS.at(i + 1) == '#') cnt++;
          if (nS.at(i - 1) == '#') cnt++;
          cout << cnt;
        }
      }
      cnt = 0;
      if (S.at(W - 1) == '#')
        cout << '#' << endl;
      else {
        if (S.at(W - 2) == '#') cnt++;
        if (nS.at(W - 1) == '#') cnt++;
        if (nS.at(W - 2) == '#') cnt++;
        cout << cnt << endl;
      }
      eS = S;
      S = nS;
      cnt = 0;
      if (S.at(0) == '#')
        cout << '#';
      else {
        if (S.at(1) == '#') cnt++;
        if (eS.at(0) == '#') cnt++;
        if (eS.at(1) == '#') cnt++;
        cout << cnt;
      }
      for (int i = 1; i < W - 1; i++) {
        cnt = 0;
        if (S.at(i) == '#')
          cout << '#';
        else {
          if (S.at(i - 1) == '#') cnt++;
          if (S.at(i + 1) == '#') cnt++;
          if (eS.at(i) == '#') cnt++;
          if (eS.at(i + 1) == '#') cnt++;
          if (eS.at(i - 1) == '#') cnt++;
          cout << cnt;
        }
      }
      cnt = 0;
      if (S.at(W - 1) == '#')
        cout << '#' << endl;
      else {
        if (S.at(W - 2) == '#') cnt++;
        if (eS.at(W - 1) == '#') cnt++;
        if (eS.at(W - 2) == '#') cnt++;
        cout << cnt << endl;
      }
    }
  } else {
    cin >> S >> nS;
    if (W == 1) {
      if (S.at(0) == '#')
        cout << '#' << endl;
      else if (nS.at(0) == '#')
        cout << 1 << endl;
      else
        cout << 0 << endl;
      eS = S;
      S = nS;
      for (int j = 1; j < H - 1; j++) {
        cin >> nS;
        cnt = 0;
        if (S.at(0) == '#')
          cout << '#' << endl;
        else if (eS.at(0) == '#')
          cnt++;
        if (nS.at(0) == '#') cnt++;
        cout << cnt << endl;
        eS = S;
        S = nS;
      }
      if (S.at(0) == '#')
        cout << '#' << endl;
      else if (eS.at(0) == '#')
        cout << 1 << endl;
      else
        cout << 0 << endl;
    } else if (W == 2) {
      if (S.at(0) == '#')
        cout << '#';
      else {
        if (S.at(1) == '#') cnt++;
        if (nS.at(0) == '#') cnt++;
        if (nS.at(1) == '#') cnt++;
        cout << cnt;
      }
      cnt = 0;
      if (S.at(1) == '#')
        cout << '#' << endl;
      else {
        if (S.at(0) == '#') cnt++;
        if (nS.at(0) == '#') cnt++;
        if (nS.at(1) == '#') cnt++;
        cout << cnt << endl;
      }
      cnt = 0;
      eS = S;
      S = nS;
      for (int j = 1; j < H - 1; j++) {
        cnt = 0;
        cin >> nS;
        if (S.at(0) == '#')
          cout << '#';
        else {
          if (eS.at(0) == '#') cnt++;
          if (eS.at(1) == '#') cnt++;
          if (S.at(1) == '#') cnt++;
          if (nS.at(0) == '#') cnt++;
          if (nS.at(1) == '#') cnt++;
          cout << cnt;
        }
        cnt = 0;
        if (S.at(W - 1) == '#')
          cout << '#' << endl;
        else {
          if (eS.at(W - 1) == '#') cnt++;
          if (eS.at(W - 2) == '#') cnt++;
          if (S.at(W - 2) == '#') cnt++;
          if (nS.at(W - 1) == '#') cnt++;
          if (nS.at(W - 2) == '#') cnt++;
          cout << cnt << endl;
        }
      }
    } else {
      if (S.at(0) == '#')
        cout << '#';
      else {
        if (S.at(1) == '#') cnt++;
        if (nS.at(0) == '#') cnt++;
        if (nS.at(1) == '#') cnt++;
        cout << cnt;
      }
      for (int i = 1; i < W - 1; i++) {
        cnt = 0;
        if (S.at(i) == '#')
          cout << '#';
        else {
          if (S.at(i - 1) == '#') cnt++;
          if (S.at(i + 1) == '#') cnt++;
          if (nS.at(i) == '#') cnt++;
          if (nS.at(i + 1) == '#') cnt++;
          if (nS.at(i - 1) == '#') cnt++;
          cout << cnt;
        }
      }
      cnt = 0;
      if (S.at(W - 1) == '#')
        cout << '#' << endl;
      else {
        if (S.at(W - 2) == '#') cnt++;
        if (nS.at(W - 1) == '#') cnt++;
        if (nS.at(W - 2) == '#') cnt++;
        cout << cnt << endl;
      }
      eS = S;
      S = nS;
      for (int j = 1; j < H - 1; j++) {
        cnt = 0;
        cin >> nS;
        if (S.at(0) == '#')
          cout << '#';
        else {
          if (eS.at(0) == '#') cnt++;
          if (eS.at(1) == '#') cnt++;
          if (S.at(1) == '#') cnt++;
          if (nS.at(0) == '#') cnt++;
          if (nS.at(1) == '#') cnt++;
          cout << cnt;
        }
        for (int i = 1; i < W - 1; i++) {
          cnt = 0;
          if (S.at(i) == '#')
            cout << '#';
          else {
            if (eS.at(i) == '#') cnt++;
            if (eS.at(i + 1) == '#') cnt++;
            if (eS.at(i - 1) == '#') cnt++;
            if (S.at(i - 1) == '#') cnt++;
            if (S.at(i + 1) == '#') cnt++;
            if (nS.at(i) == '#') cnt++;
            if (nS.at(i + 1) == '#') cnt++;
            if (nS.at(i - 1) == '#') cnt++;
            cout << cnt;
          }
        }
        cnt = 0;
        if (S.at(W - 1) == '#')
          cout << '#' << endl;
        else {
          if (eS.at(W - 1) == '#') cnt++;
          if (eS.at(W - 2) == '#') cnt++;
          if (S.at(W - 2) == '#') cnt++;
          if (nS.at(W - 1) == '#') cnt++;
          if (nS.at(W - 2) == '#') cnt++;
          cout << cnt << endl;
        }
        eS = S;
        S = nS;
      }
      cnt = 0;
      if (S.at(0) == '#')
        cout << '#';
      else {
        if (S.at(1) == '#') cnt++;
        if (eS.at(0) == '#') cnt++;
        if (eS.at(1) == '#') cnt++;
        cout << cnt;
      }
      for (int i = 1; i < W - 1; i++) {
        cnt = 0;
        if (S.at(i) == '#')
          cout << '#';
        else {
          if (S.at(i - 1) == '#') cnt++;
          if (S.at(i + 1) == '#') cnt++;
          if (eS.at(i) == '#') cnt++;
          if (eS.at(i + 1) == '#') cnt++;
          if (eS.at(i - 1) == '#') cnt++;
          cout << cnt;
        }
      }
      cnt = 0;
      if (S.at(W - 1) == '#')
        cout << '#' << endl;
      else {
        if (S.at(W - 2) == '#') cnt++;
        if (eS.at(W - 1) == '#') cnt++;
        if (eS.at(W - 2) == '#') cnt++;
        cout << cnt << endl;
      }
    }
  }
}
