#include <bits/stdc++.h>
using namespace std;

int main() {
  int H, W;
  cin >> H >> W;
  int h, w;
  h = H + 2;
  w = W + 2;
  vector<char> s(h * w);
  for(int i = 0; i < (h * w); i++)
    if(i % w == 0 || (i + 1) % w == 0 || i < w || i > ((h - 1) * w))
      continue;
    cin >> s.at(i);
  for(int i = 0; i < (h * w); i++){
    if(i % w == 0 || (i + 1) % w == 0 || i < w || i > ((h - 1) * w))
      continue;
    int sum = 0;
    if(s.at(i) == '.'){
      s.at(i) = '0';
      if(s.at(i - W - 1) == '#')
        sum++;
      if(s.at(i - W) == '#')
        sum++;
      if(s.at(i - W + 1) == '#')
        sum++;
      if(s.at(i - 1) == '#')
        sum++;
      if(s.at(i + 1) == '#')
        sum++;
      if(s.at(i + W - 1) == '#')
        sum++;
      if(s.at(i + W) == '#')
        sum++;
      if(s.at(i + W + 1) == '#')
        sum++;
      if(sum == 1)
        s.at(i) = '1';
      if(sum == 2)
        s.at(i) = '2';
      if(sum == 3)
        s.at(i) = '3';
      if(sum == 4)
        s.at(i) = '4';
      if(sum == 5)
        s.at(i) = '5';
      if(sum == 6)
        s.at(i) = '6';
      if(sum == 7)
        s.at(i) = '7';
      if(sum == 8)
        s.at(i) = '8';
    }
  }
  for(int i = 0; i < (h * w); i++){
    if(i % w == 0 || (i + 1) % w == 0 || i < w || i > ((h - 1) * w))
      continue;
    cout << s.at(i);
    if((i + 2) % w == 0)
    cout << endl;
  }
}
      