#include <iostream>
#include <math.h>
#include <stdio.h>
#include <algorithm>
#define rep(i,n) for(int i = 0; i < n;i++)
#define ll long long
#include <bits/stdc++.h>
using namespace std;
#define mo 1000000007
#define ull unsigned long long 

int main(){
  int h,w;cin>>h>>w;
  vector<vector<int>> data(h+2, vector<int>(w+2));
  for(int i=1;i<h+1;i++){
    string s;cin>>s;
    for(int j=1;j<w+1;j++){
      if(s.at(j-1)=="#"){
        //上
        data.at(i-1).at(j-1)++;
        data.at(i-1).at(j)++;
        data.at(i-1).at(j+1)++;
        //同じ列
        data.at(i).at(j-1)++;
        data.at(i).at(j+1)++;
        //下
        data.at(i+1).at(j-1)++;
        data.at(i+1).at(j)++;
        data.at(i+1).at(j+1)++;
      }
    }
  }
  for(int i=1;i<h+1;i++){
    for(int j=1;j<w+1;j++){
      cout<<data.at(i).at(j);
      if(j==w)
        cout<<endl;
    }
  }
}
      
    