~cpp
#include <iostream>
using namespace std;
// 주위에 있는 지뢰의 수를 찾는다.
int findNumberOfMine(char input[][100], int n, int m, int y, int x)
{
int number = 0;
for (int i = y - 1; i <= y + 1; i++)
for (int j = x - 1; j <= x + 1; j++)
{
if (i >= 0 && i < n && j >= 0 && j < m && input[i][j] == '*')
number++;
}
return number;
}
int main()
{
int n, m;
int field = 0;
char input[100][100];
char output[100][100];
cin >> n >> m;
field++;
int i, j;
while (!(n == 0 && m == 0))
{
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
{
cin >> input[i][j];
}
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
{
if (input[i][j] == '*')
output[i][j] = '*';
else
output[i][j] = findNumberOfMine(input, n, m, i, j) + '0';
}
cout << "Field #" << field << ":\n";
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
cout << output[i][j];
cout << endl;
}
cout << endl;
cin >> n >> m;
field++;
}
return 0;
}