#include <iostream>
#include <algorithm>
using namespace std;
const int N=111;
int q[N][N],p[N][N];
int m,n;
int main()
{
cin>>m>>n;
for(int i=1;i<=m;i++)
for(int j=0;j<=n;j++)
{
cin>>q[i][j];
if(q[i][j]=='*')
q[i][j]=1;
else
q[i][j]=0;
}//地雷是1
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
{
p[i][j]=p[i-1][j]+p[i][j-1]-p[i-1][j-1]+q[i][j];
}//前缀和表示前面的总雷
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
q[i][j]=p[i+1][j+1]-p[i+1][max(j-2,0)]-p[max(0,i-2)][j+1]+p[max(0,i-2)][max(0,j-2)];
//求差弄出九宫格
for(int i=1;i<=m;i++)
{for(int j=1;j<=m;j++)
cout<<q[i][j];//怎么把雷输出┭┮﹏┭┮
cout<<endl;
}
return 0;
}