#include <stdio.h>
#define MAX 101
char a[MAX][MAX];
int main()
{
int m, n;
int i, j;
int nCase = 0;
#ifndef ONLINE_JUDGE
freopen("d:\\UVa\\uva_in.txt", "r", stdin);
#endif
while ((scanf("%d%d", &n, &m), m + n)) {
getchar();
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
scanf("%c", &a[i][j]);
}
getchar();
}
nCase++;
if (nCase > 1)
printf("\n");
printf("Field #%d:\n", nCase);
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
if (a[i][j] != '*') {
a[i][j] = (i - 1 >= 0 && j - 1 >= 0 && a[i - 1][j - 1] == '*') +
(i - 1 >= 0 && a[i - 1][j] == '*') +
(i - 1 >= 0 && j + 1 < m && a[i - 1][j + 1] == '*') +
(j - 1 >= 0 && a[i][j - 1] == '*') +
(j + 1 < m && a[i][j + 1] == '*') +
(i + 1 < n && j - 1 >= 0 && a[i + 1][j - 1] == '*') +
(i + 1 < n && a[i + 1][j] == '*') +
(i + 1 < n && j + 1 < m && a[i + 1][j + 1] == '*') + '0';
printf("%c", a[i][j]);
} else
printf("%c", a[i][j]);
}
printf("\n");
}
}
return 0;
}