#include <iostream>
#include <cstdio>
#define N 103
void search(int i,int j);
char a[N][N];
int n,m;
int main() {
scanf("%d %d",&n,&m);
getchar();
for (int i=0;i<n;i++) {
for (int j=0;j<m;j++)
scanf("%c",&a[i][j]);
getchar();
}
for (int i=0;i<n;i++) {
for (int j=0;j<m;j++) {
if (a[i][j]=='*')
printf("*");
else
search(i,j);
if (j+1==m) printf("\n");
}
}
return 0;
}
void search(int i,int j) {
int flag=0;
for (int di=-1;di<2;di++)
for (int dj=-1;dj<2;dj++)
{
int x=i+di;
int y=j+dj;
if ((di!=0||dj!=0)&&x>=0&&x<n&&y>=0&&y<m)
if (a[x][y]=='*')
flag++;
}
printf("%d",flag);
}
/**************************************************************
Problem: 1580
User: admin
Language: C++
Result: Accepted
Time:69 ms
Memory:2088 kb
****************************************************************/