n, m = map(int, input().split()) # 读取扫雷矩阵 matrix = [] for _ in range(n): line = input().strip() matrix.append(list(line)) # 定义8个方向的偏移量(行偏移,列偏移) directions = [(-1, -1), (-1, 0), (-1, 1), (0, -1), (0, 1), (1, -1), (1, 0), (1, 1)] # 处理每个单元格 for i in range(n): for j in range(m): # 如果是地雷,保持不变 if matrix[i][j] == '*': continue # 计算周围地雷数量 count = 0 for dx, dy in directions: # 计算相邻单元格的坐标 x = i + dx y = j + dy # 检查坐标是否在矩阵范围内 if 0 <= x < n and 0 <= y < m: if matrix[x][y] == '*': count += 1 # 将计数结果转换为字符存入矩阵 matrix[i][j] = str(count) # 输出结果 for row in matrix: print(''.join(row))