在不久的将来,世界由能够执行复杂任务以维护全球系统的先进机器人管理。其中一个系统负责管理一个巨大的太阳能电池板网格,为整个城市提供可再生能源。这些电池板排列成一个 $N \times N$ 的矩阵,矩阵中的每个单元格可以处于激活(1)或未激活(0)状态。
图 1:由 AleSpa 创作 - 自有作品,CC BY-SA 3.0
为了优化能源生产,机器人需要将太阳能电池板网格的当前状态矩阵 $A$ 转换为目标状态矩阵 $B$。转换过程涉及两种类型的操作:
- 将整行向左移动,即选择一个 $1$ 到 $N$ 之间的正整数 $i$,并将 $(A_{i,1}, A_{i,2}, \dots, A_{i,N})$ 转换为 $(A_{i,2}, A_{i,3}, \dots, A_{i,N}, A_{i,1})$。
- 将整列向下移动,即选择一个 $1$ 到 $N$ 之间的正整数 $i$,并将 $(A_{1,i}, A_{2,i}, \dots, A_{N,i})$ 转换为 $(A_{N,i}, A_{1,i}, A_{2,i}, \dots, A_{N-1,i})$,然后翻转顶部单元格的状态,使新的 $A_{1,i} \leftarrow 1 - A_{1,i}$。
你需要找到一个操作序列,通过不超过 $10^3$ 次操作将网格从当前状态 $A$ 转换为目标状态 $B$。
输入格式
第一行包含一个整数 $N$ ($3 \le N \le 20$)。
接下来的 $N$ 行描述初始矩阵 $A$。这些行中第 $i$ 行的第 $j$ 个字符为 0 或 1,表示 $A_{i,j}$ 的值。
在这 $N$ 行之后,有一个空行。
接下来的 $N$ 行描述目标矩阵 $B$。这些行中第 $i$ 行的第 $j$ 个字符为 0 或 1,表示 $B_{i,j}$ 的值。
输出格式
第一行输出一个整数 $T$ ($0 \le T \le 10^3$),表示你所使用的操作次数。
接下来的 $T$ 行描述这些操作。其中第 $i$ 行应为以下内容之一:
row i:对第 $i$ 行执行操作。column i:对第 $i$ 列执行操作。
如果存在多种可能的解,你可以输出其中任意一种。
样例
输入格式 1
4 1011 1100 0100 1011 1001 0110 0110 1001
输出格式 1
4 row 2 row 2 row 2 column 3