#AT1026. 格子压缩

格子压缩

题目描述

有一个由 HHWW 列的格子组成的网格。 第 ii 行第 jj 列的格子用 (i,j)(i,j) 表示。 每个格子要么是黑色要么是白色。 某个格子的颜色由一个 HHWW 列的矩阵 ai,ja_{i,j}表示。 如果ai,ja_{i,j}.,则表示格子ai,ja_{i,j} 是白色;如果 ai,ja_{i,j}#,则表示格子 ai,ja_{i,j} 是黑色。

冰河正在对这个网格进行压缩。 他会通过不断进行以下操作,直到没有一行或者一列只由白色格子组成为止:

  • 操作:选择任意一行或一列,只要这一行或一列只由白色格子组成,在这一行或者一列上去掉所有的格子,并删除行或列之间的间隙。

可以证明,无论选择每次操作时选择什么行或者列,最终网格的状态都是唯一确定的。 请找到网格的最终状态。

输入

输入通过以下方式从标准输入获得:

HW H W

a1,1,a1,2...a1,Wa_{1,1},a_{1,2}...a_{1,W}

...

aH,1,aH,2...aH,Wa_{H,1},a_{H,2}...a_{H,W}

输出

按照和输入格式相同的方式输出网格的最终状态(不保留行或列的数量);示例中有更清晰的解释。

4 4
##.#
....
##.#
.#.#
###
###
.##

【样例1解释】

在原网格中,第二行和第三列将被删除。

3 3
#..
.#.
..#
#..
.#.
..#

【样例2解释】

由于没有一行或一列只由白色格子组成,因此不进行任何操作。

4 5
.....
.....
..#..
.....
#
7 6
......
....#.
.#....
..#...
..#...
......
.#..#.
..#
#..
.#.
.#.
#.#

提示

  • 1H,W100 1 \leq H,W \leq 100
  • ai,ja_{i,j}. 或者 #
  • 整个网格中至少有一个黑色格子。