python的try有點太好用了xd
def declare(M, i, j):
for x in range(-1, 2):
for y in range(-1, 2):
try:
if i+x==-1 or j+y==-1:
continue
if M[i+x][j+y]!="*":
M[i+x][j+y] += 1
except IndexError:
continue
count = 1
while True:
n,m = map(int, input().split())
if n==0 and m==0:
break
Map = [[0]*m for i in range(n)]
for i in range(n):
row = input()
for j in range(m):
if row[j] == "*":
Map[i][j] = "*"
declare(Map, i, j)
print(f"Field #{count}:")
count += 1
for i in Map:
print("".join(map(str, i)))
print()