给定一个 $N \times M$ 的网格,每个格子都被涂成了黑色或白色。
你必须对每个格子执行以下三种操作之一:
- 不做任何改变。
- 反转所有与该格子相邻的格子的颜色(该格子本身的颜色不发生改变)。
- 反转该格子本身以及所有与其相邻的格子的颜色。
你的目标是使所有格子都变成白色。请找到一种实现该目标的方法。
输入格式
第一行包含两个整数 $N$ 和 $M$,表示网格的行数和列数($1 \le N, M \le 2\,000$)。
接下来的 $N$ 行,每行包含一个长度为 $M$ 的字符串,描述网格的每一行。每个字符为 B(代表黑色)或 W(代表白色)。
输出格式
如果无法使所有格子都变成白色,则在第一行输出 -1。
否则,在第一行输出 1,接下来的 $N$ 行中,每行输出 $M$ 个字符(不含空格)。
其中第 $i$ 行的第 $j$ 个字符表示对第 $i$ 行第 $j$ 列的格子所采取的操作。字符应为 1、2 或 3 之一,分别对应题目描述中的三种操作。
样例
输入样例 1
2 3 WBW BWB
输出样例 1
1 111 121
输入样例 2
1 1 B
输出样例 2
1 3