#316. [R51B]Minceraft

[R51B]Minceraft

时空限制

1S/512M

题目描述

给定一个 n×mn \times m 的字符矩阵,其中有一些位置上的字符是 #(代表方块),其他位置是 .(代表空气)。我们将第 ii 行第 jj 列上的字符定义为 ai,ja_{i, j}

apiadu 有一个道具,每次对矩阵使用道具时,会按照以下规则对方阵进行调整: 对于每一个 1jm1 \le j \le m(每一列),从下往上依次遍历行 ii(即 iin1n-1 递减到 11),如果发现 ai,ja_{i, j}# 且其下方紧邻的格子 ai+1,ja_{i+1, j}.,则交换 ai,ja_{i, j}ai+1,ja_{i+1, j}

apiadu 对这个矩阵使用了 1010010^{100} 次道具,你需要输出最终矩阵的状态。

格式

输入格式

第一行包含两个整数 nnmm,表示矩阵的大小。

接下来的 nn 行,每行包含 mm 个字符,表示初始矩阵的组成。

输出格式

输出 nn 行,每行 mm 个字符,表示经过 1010010^{100} 次操作后的最终矩阵。

样例

样例输入 #1

4 5
#.##.
.#.#.
#...#
#.###

样例输出 #1

.....
#..#.
#.###
#####

样例解释 #1

使用一次道具后的矩阵:

.....
#.##.
##.##
#.###

使用了两次道具后的矩阵:

.....
#..#.
#.###
#####

不难发现对这个矩阵再次使用道具不会再使矩阵发生改变。使用 1010010^{100} 次的效果与使用两次相同。

数据规模

对于 100%100\% 的数据,1n,m1001 \le n, m \le 100