#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n,m;
char a[105][105];
int b[105][105];
int kase=0;
int cnt=0;
while(cin>>m>>n&&n&&m)
{
memset(b,0,sizeof(b));
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
cin>>a[i][j];
if(cnt) cout<<endl;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
if(a[i][j]=='*')
{
if(i-1>=0) b[i-1][j]++;
if(i+1<m) b[i+1][j]++;
if(j-1>=0) b[i][j-1]++;
if(j+1<n) b[i][j+1]++;
if(i-1>=0&&j-1>=0) b[i-1][j-1]++;
if(i-1>=0&&j+1<n) b[i-1][j+1]++;
if(i+1<m&&j-1>=0) b[i+1][j-1]++;
if(i+1<m&&j+1<n) b[i+1][j+1]++;
}
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
if(a[i][j]=='.') a[i][j]=b[i][j]+'0';
cout<<"Field #"<<++kase<<":"<<endl;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)
{cout<<a[i][j];}
cout<<endl;
}
cnt++;
}
return 0;
}