考虑一个大小为 $N \times M$ 的矩形网格。每个单元格都被涂成黑色或白色。 对于每个单元格,你必须执行以下三种操作中的恰好一种:
- 不做任何改变。
- 改变所有相邻单元格的颜色(黑色变为白色,白色变为黑色)。
- 改变所有相邻单元格及其自身的颜色。
如果两个单元格共享一条边,则称它们为相邻的。 你的目标是使所有单元格都变为白色。请找到一种实现方法,或者确定这是不可能的。
输入格式
第一行包含两个整数 $N$ 和 $M$,表示网格的尺寸 ($1 \le N, M \le 2000$)。 接下来的 $N$ 行,每行描述网格的一行。每行包含 $M$ 个字符,表示该行单元格的颜色。每个字符要么是 “B”(代表黑色),要么是 “W”(代表白色)。
输出格式
如果无法使所有单元格变为白色,则在第一行输出 “-1”。 否则,在第一行输出 “1”,随后输出 $N$ 行。每行必须包含 $M$ 个字符,描述你为网格对应行选择的操作。每个字符必须是 “1”、“2” 或 “3”,分别对应题目中描述的三种操作。如果存在多种解,输出其中任意一种即可。
样例
样例输入 1
2 3 WBW BWB
样例输出 1
1 111 121
样例输入 2
1 1 B
样例输出 2
1 3