#include<bits/stdc++.h>
#include <cstring>
using namespace std;
int n,m;
int Count (char a[n+5][m+5],int i ,int j){
int cnt =0;
if(a[i+1][j] == '*') cnt++;
if(a[i-1][j] =='*') cnt++;
if(a[i][j-1] == '*') cnt++;
if(a[i][j+1] == '*') cnt++;
if(a[i-1][j-1] == '*') cnt++;
if(a[i+1][i+1] =='*') cnt++;
if(a[i-1][j+1] == '*') cnt++;
if(a[i+1][j-1] == '*') cnt++;
return cnt;
}
int main()
{
cin >> n >>m;
char a[n+5][m+5];
memset(a,'0', sizeof(a));
for(int i = 0 ; i < n; i++){
for(int j = 0 ;j < m; j++){
cin >> a[i][j];
}
}
for(int i = 0; i< n;i++){
for(int j = 0; j< m;j++){
if(a[i][j] == '?'){
a[i][j] = Count(a, i, j) +'0';
}
}
}
return 0;
}