吉萨的哈夫拉金字塔。在金字塔顶部,你可以看到许多残留的外包石。图片来自 Daaaveee, commons.wikimedia.org
友好但处于竞争关系的考古学家 Ameena 和 Bilal 正在寻找卡乌里斯诺马尔赫天体金字塔(Nomarch's Celestial Pyramid of Cauris)遗失的入口。几千年来,金字塔的大部分外层已被剥离,因此入口必然隐藏在金字塔北面残留的“外包”石(曾经覆盖整个纪念碑的平滑石灰岩块)之一的后面。
为了避免他们的传感器阵列之间产生干扰,Ameena 和 Bilal 将把北面划分为两个连通的区域,并各自扫描一个区域。为了公平起见,每个区域必须包含相同数量的外包石。
他们将金字塔的北面建模为一个三角形网格。该网格有 $N$ 行和 $2N - 1$ 列,金字塔占据了这些单元格的一个子集:第一行的中间单元格,第二行的中间三个单元格,第三行的中间五个单元格,依此类推。金字塔中单元格的一个非空子集是外包石。
你的任务是将金字塔划分为两个区域 $A$ 和 $B$,满足:
- 金字塔中的每个单元格都恰好属于一个区域。
- 每个区域都是连通的。(如果可以通过在相邻单元格之间移动,在区域内的任意两个单元格之间步行,则该区域是连通的。如果两个单元格共享一条边,则它们是相邻的。)
- 这两个区域包含相同数量的外包石。
输入格式
第一行包含一个整数 $N$($2 \le N \le 300$)。
接下来的 $N$ 行,每行包含一个长度为 $2N - 1$ 的字符串。这些字符串描述了外包石的位置。字符 # 表示不属于金字塔的单元格,. 表示属于金字塔但不是外包石的单元格,C 表示外包石。金字塔中至少会有一块外包石。
输出格式
如果无法以合法的方式划分金字塔,输出 impossible。
否则,输出 $N$ 行,每行包含一个长度为 $2N - 1$ 的字符串。这些行描述了金字塔的划分方案。字符 # 表示不属于金字塔的单元格,A 表示属于 Ameena 的单元格,B 表示属于 Bilal 的单元格。如果存在多个合法解,你可以输出其中任意一个。
样例
输入样例 1
4 ###.### ##C..## #..CC.# .C.....
输出样例 1
###B### ##BBB## #AABAA# AAAAAAA
输入样例 2
2 #.# .C.
输出样例 2
impossible