#include <cstdio>
#include <cstring>
#define MAXN 102
#define MAXM 102
int M,N;
char bitmap[MAXN][MAXM];
char howManyMine(int x,int y)
{
int dx,dy,count;
count=0;
for(dx=-1;dx<=1;dx++)
{
for(dy=-1;dy<=1;dy++)
{
if(bitmap[x+dx][y+dy]=='*')
{
count+=1;
}
}
}
return '0'+count;
}
int main(void)
{
int index=0;
int i,j;
while(1)
{
scanf("%d%d",&N,&M);
if(N==0 and M==0)
break;
memset(bitmap,'+',sizeof(char)*MAXM*MAXN);
for(i=1;i<=N;i++)
{
getchar();
for(j=1;j<=M;j++)
scanf("%c",&bitmap[i][j]);
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=M;j++)
{
if(bitmap[i][j]=='.')
{
bitmap[i][j]=howManyMine(i,j);
}
}
}
if(index>0)
printf("\n");
printf("Field #%d:\n",index+1);
index++;
for(i=1;i<=N;i++)
{
for(j=1;j<=M;j++)
{
printf("%c",bitmap[i][j]);
}
printf("\n");
}
}
return 0;
}