#joi2015yoc. [joi2015yo_c]気象予報士 (Weather Forecaster)

[joi2015yo_c]気象予報士 (Weather Forecaster)

问题

JOI市的形状是一个南北方向长HH公里,东西方向长WW公里的长方形,被划分为H×WH \times W个边长为1公里的小区域。第ii行第jj列的小区域用(i,j)(i, j)表示。

每个小区域上空要么有云,要么没有云。所有的云每经过1分钟就会向东移动1公里。由于今天天气非常好,所以云不会从JOI市外部移动到JOI市内。

现在,已知每个小区域的上空是否有云。作为气象预报师的你需要预测每个小区域,云将在多少分钟后首次出现在该小区域的上空。

对于每个小区域,求出云将在多少分钟后首次出现在该小区域的上空。


输入

输入由1+H1 + H行组成。

11行包含两个整数H,WH, W1H1001 \leqq H \leqq 1001W1001 \leqq W \leqq 100),以空格分隔。表示JOI市被划分为H×WH \times W个边长为1公里的小区域。

接下来的HH行中的第ii行(1iH1 \leqq i \leqq H)包含一个由WW个字符组成的字符串。字符串的第jj个字符(1jW1 \leqq j \leqq W)表示小区域(i,j)(i, j)上空是否有云。如果有云,则字符为c(英文小写字母),否则为.(句点)。

输出

输出包含HH行,每行包含由空格分隔的WW个整数。第ii行第jj列的整数(1iH1 \leqq i \leqq H1jW1 \leqq j \leqq W)表示云将在多少分钟后首次出现在小区域(i,j)(i, j)的上空。但是,在小区域(i,j)(i, j)的上空已经有云的情况下,输出为00;在经过任意时间后小区域(i,j)(i, j)的上空还没有云的情况下,输出为1-1

请不要在每行开头和结尾插入额外的空格。


输入例子 1

3 4
c..c
..c.
....

输出例子 1

0 1 2 0
-1 -1 0 1
-1 -1 -1 -1

输入例子1中,JOI市被划分为3×43 \times 4个小区域。JOI市当前的云情况如下所示。图中上方表示北方。

2015-yo-t3-fig01.png

然后,云每经过1分钟就会移动如下所示。

2015-yo-t3-fig02.png

2015-yo-t3-fig03.png

2015-yo-t3-fig04.png


输入例子 2

6 8
.c......
........
.ccc..c.
....c...
..c.cc..
....c...

输出例子 2

-1 0 1 2 3 4 5 6
-1 -1 -1 -1 -1 -1 -1 -1
-1 0 0 0 1 2 0 1
-1 -1 -1 -1 0 1 2 3
-1 -1 0 1 0 0 1 2
-1 -1 -1 -1 0 1 2 3