Batyr 收到了一份新年礼物,是两个大小均为 $N \times M$ 的二维数组 $A$ 和 $B$,其中填满了小写字母。Batyr 对这两个数组不同感到很失望,并决定修复它们。为此,他可以选择矩阵 $A$ 的任意一行或一列进行翻转。但 Donchik 总是来捣乱:每当 Batyr 翻转第 $i$ 行时,Donchik 就会翻转第 $N - i + 1$ 行;每当 Batyr 翻转第 $j$ 列时,Donchik 就会翻转第 $M - j + 1$ 列。Donchik 的这些操作都是在矩阵 $A$ 上进行的。Batyr 对 Donchik 的这些烦人的把戏感到厌倦,他请求你的帮助。请找出 Batyr 应该执行的一系列操作,使得两个数组变得完全相同,或者指出这是不可能的。
输入格式
输入的第一行包含三个非负整数 $N, M$ 和 $type$ ($N \le M, 1 \le N \times M \le 10^6, 0 \le type \le 1$),分别表示二维数组的边长和当前测试用例的类型。接下来的 $N$ 行包含 $M$ 个小写字母(无空格),描述了二维数组 $A$。再接下来的 $N$ 行描述了数组 $B$。
输出格式
如果不存在满足条件的方案,输出 “-1”(不含引号)。否则,输出的第一行应包含一个整数 $K$:对于 $type = 0$, $K$ 可以是任意不超过 $2 \times 10^6$ 的整数;但对于 $type = 1$,$K$ 必须等于操作的最小次数。在接下来的 $K$ 行中,输出 Batyr 应该执行的操作描述。每个操作由一个字符和一个整数给出——字符 “R” 用于描述翻转行,“C” 用于描述翻转列,数字描述被翻转的行或列的索引。行从上到下编号为 $1$ 到 $N$,列从左到右编号为 $1$ 到 $M$。
子任务
本题包含 7 个子任务,满足以下约束:
- $N = 2, M = 2, type = 1$。分值 8 分。
- $N \times M \le 10, type = 1$。分值 13 分。
- $N = 2, type = 1$。分值 9 分。
- $3 \le N, N \times M \le 100, type = 1$。分值 7 分。
- $N \times M \le 1000, type = 1$。分值 13 分。
- $type = 0$。分值 23 分。
- $type = 1$。分值 27 分。
样例
输入 1
2 2 1 ab ba ba ab
输出 1
1 C 1