我们身处一个神奇的魔法世界,这个世界由 N 行水平排列和 M 列垂直排列的方格组成。
用 (i,j) 表示位于从上向下数的第 i 行,从左向右数的第 j 列的方格。
有些方格具有魔法能量,有些方格带有魔法屏障,还有些方格是空方格,用字符 A[i][j] 表示 (i,j) 方格的当前状态。
. 表示一个空方格。
# 表示一个带有魔法屏障的方格。
1, 2, ..., 9 表示一个带有魔法能量为 1, 2, ..., 9 的方格。
我们作为一名拥有消除术的魔法师,任务是利用魔法消除术将这些方格中的魔法能量清除。
在下一个时刻,我们将施展消除术,所有的魔法能量方格将同时消失。当一个魔法能量方格消失时,该位置会成为空方格(.),且与该方格的曼哈顿距离不大于该方格的魔法能量的所有方格,如果其是带有魔法屏障的方格(#),也将会成为空方格(.)。
这里,从 (x_1, y_1) 到 (x_2, y_2) 的曼哈顿距离定义为 |x_1 - x_2| + |y_1 - y_2|。(|x| 表示求变量 x 的绝对值,比如:|2|=2,|-2|=2)
请输出施展消除术后的方格状态。
第一行两个整数,N,M。
接下来读入 N 行,M 列的魔法方格。
施展消除术后的方格状态。
4 4 .1.# ###. .#2. #.##
...# #... .... #...
2 5 ..#.# ###.#
..#.# ###.#
4 6 #.#3#. ###.#. ##.### #1..#.
...... #..... #....# ....#.
如下图所示:(1,2)、(3,3) 是魔法能量方格。
(1,2) 数值是 1,会影响周围曼哈顿距离为 1 的范围,如绿色区域。
(3,3) 数值是 2,会影响周围曼哈顿距离为 2 的范围,如粉色区域。
橙色区域是重叠部分,也会受到影响。

如下图所示,没有魔法能量方格,所以数值不变。

30\% 数据: 1 \le N,M \le 5 。
60\% 数据: 1 \le N,M \le 10 。
100\% 数据: 1 \le N,M \le 20 。
| 测试点编号 | N,M | 特殊性质 |
|---|---|---|
| 1 \sim 6 | N \le 10, M \le 10 | A |
| 7 \sim 8 | N \le 10, M \le 10 | B |
| 9 \sim 20 | N \le 20, M \le 20 | 无 |
特殊性质 A:读入的矩阵中,不存在带有魔法能量的方格。样例 2 符合该性质。
特殊性质 B:读入的矩阵中,只有 1 个带有魔法能量的方格。