#include<iostream>//cout cin endl
#include<cmath>//sqrt fabs
#include<iomanip>//fix setprecision
#include<algorithm>//max sort
#include<cstdlib>//abs
using namespace std;
char a[1001][1001];
int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>a[i][j];
if(a[i][j]=='.') a[i][j]=48;//初始化
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(a[i][j]=='0')
{
if(i==0&&j==0)//左上角
{
if(a[i][j+1]=='*') a[i][j]++;
if(a[i+1][j]=='*') a[i][j]++;
if(a[i+1][j+1]=='*') a[i][j]++;
continue;
}
if(i==0&&j==m-1)//右上角
{
if(a[i][j-1]=='*') a[i][j]++;
if(a[i+1][j]=='*') a[i][j]++;
if(a[i+1][j-1]=='*') a[i][j]++;
continue;
}
if(i==n-1&&j==0)//左下角
{
if(a[i][j+1]=='*') a[i][j]++;
if(a[i-1][j]=='*') a[i][j]++;
if(a[i-1][j+1]=='*') a[i][j]++;
continue;
}
if(i==n-1&&j==m-1)//右下角
{
if(a[i][j-1]=='*') a[i][j]++;
if(a[i-1][j]=='*') a[i][j]++;
if(a[i-1][j-1]=='*') a[i][j]++;
continue;
}
if(i==0)//上
{
if(a[i][j-1]=='*') a[i][j]++;
if(a[i][j+1]=='*') a[i][j]++;
if(a[i+1][j-1]=='*') a[i][j]++;
if(a[i+1][j]=='*') a[i][j]++;
if(a[i+1][j+1]=='*') a[i][j]++;
continue;
}
if(i==n-1)//下
{
if(a[i][j-1]=='*') a[i][j]++;
if(a[i][j+1]=='*') a[i][j]++;
if(a[i-1][j-1]=='*') a[i][j]++;
if(a[i-1][j]=='*') a[i][j]++;
if(a[i-1][j+1]=='*') a[i][j]++;
continue;
}
if(j==0)//左
{
if(a[i][j+1]=='*') a[i][j]++;
if(a[i+1][j]=='*') a[i][j]++;
if(a[i+1][j+1]=='*') a[i][j]++;
if(a[i-1][j]=='*') a[i][j]++;
if(a[i-1][j+1]=='*') a[i][j]++;
continue;
}
if(j==m-1)//右
{
if(a[i][j-1]=='*') a[i][j]++;
if(a[i+1][j]=='*') a[i][j]++;
if(a[i+1][j-1]=='*') a[i][j]++;
if(a[i-1][j]=='*') a[i][j]++;
if(a[i-1][j-1]=='*') a[i][j]++;
continue;
}
//其他
if(a[i][j-1]=='*') a[i][j]++;
if(a[i+1][j]=='*') a[i][j]++;
if(a[i+1][j-1]=='*') a[i][j]++;
if(a[i-1][j]=='*') a[i][j]++;
if(a[i-1][j-1]=='*') a[i][j]++;
if(a[i][j+1]=='*') a[i][j]++;
if(a[i-1][j+1]=='*') a[i][j]++;
if(a[i+1][j+1]=='*') a[i][j]++;
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}