#include <iostream>
#include <cstdio>
using namespace std;
char _map[101][101];
int n, m, cnt=0;
void recin()
{
cin.sync();
cin.clear();
}
char _get(int i, int j)
{
char c='$';
if (i < 1 || j < 1 || i > n || j > m)
{
return c;
}
return _map[i][j];
}
int main()
{
cin >> n >> m;
recin();
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= m; j++)
{
_map[i][j] = getchar();
}
recin();
}
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= m; j++)
{
if(_map[i][j] == '?')
{
if(_get(i-1, j-1) == '*')
cnt++;
if(_get(i-1, j ) == '*')
cnt++;
if(_get(i-1, j+1) == '*')
cnt++;
if(_get(i , j-1) == '*')
cnt++;
if(_get(i , j ) == '*')
cnt++;
if(_get(i , j+1) == '*')
cnt++;
if(_get(i+1, j-1) == '*')
cnt++;
if(_get(i+1, j ) == '*')
cnt++;
if(_get(i+1, j+1) == '*')
cnt++;
cout << cnt;
cnt = 0;
}
else
{
cout << '*';
}
}
cout << endl;
}
return 0;
}