#Lutece1022. 缤纷彩带

缤纷彩带

Migrated from Lutece 1022 缤纷彩带

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

陈队长妹纸的生日快要来了,陈队长作为一名ACM界知名选手自然会选择不一样的方式来给妹纸过生日,于是机智的陈队长为了不动声色显示自己的机智,选择了缤纷彩带作为庆祝之用。

title

在每一次操作,玩家选择任意一个给定的颜色然后选择一个未被选中的行或者未被选择的列并将对应颜色的彩带覆盖其上,最终每个格子被且仅被一个横条和一个竖条覆盖。如果最上面彩带的颜色要求与格子的颜色(如果格子被涂色)相同,那么游戏结束。

title

在一个下午和妹纸的愉快玩耍过程中,喜欢突破的陈队长萌发了改变规则的想法。如果每次插入的彩带不是放在原来已有的彩带之上,而是放在原有彩带之下,那么解决方案又是如何?当然,陈队长是一个好人,为了让问题变得简单,只要字典序最小的方案就足够了。

Input

第一行包含一个正整数TT50T(T \leq 50)表示数据组数。

对于每组数据,第一行包含一个正整数nn1000n(n \leq 1000),表示所给格子是n×nn \times n的。

接下来的n行每行包含n个字符,每个字符表示一个格子的涂色情况(字符0表示该格子没有被涂色,大写字母A-Z表示2626种不同的颜色,没有其他字符出现)

数据保证是合法的且有解的。

Output

每组数据包含2×n2 \times n行,每行以ww xx ccww只能是字符R或者C表示选择的行或者列,R表示行,C表示列,xx表示所选行或者列的编号,cc表示所选颜色)表示一个操作,对于两个操作他们的字典序直接决定于ww xx cc的字典序。

输出的要求是按照游戏操作顺序输出,并且字典序最小的。

每组数据最后输出一个空行。

关于字典序,直观上就如同在字典中排列单词一样排序,按照字母表或数字表里递增顺序的排列次序,即先考虑第一个“字母”,在相同的情况下考虑第二个“字母”,依此类推。假设a=a1a2ana=a_1a_2\cdots a_nb1b2bnb_1b_2 \cdots b_n是集合1,2,,n{1,2, \cdots ,n}的两个排列,字典序下aabb的前面,如果a1<b1a_1 < b_1a1=b1a_1 = b_1a2<b2a_2 < b_2,或a1=b1a_1 = b_1a2=b2a_2 = b_2a3<b3a_3 < b_3 \cdotsa1=b1a_1 = b_1a2=b2a_2 = b_2\cdotsak=bka_k = b_kak+1<bk+1a_{k+1} < b_{k+1},或\cdots,依此类推。

对于本题ak>bka_k > b_k只要满足下面33条之一即可

  1. wa>wbw_a > w_b
  2. wa=wbw_a = w_bxa>xbx_a > x_b
  3. wa=wbw_a = w_bxa=xbx_a = x_bca>cbc_a > c_b

Samples

2
3
YBY
YGG
YR0
2
P0
YG
C 1 Y
R 2 G
C 3 Y
R 1 B
C 2 R
R 3 A

C 2 G
R 1 P
C 1 Y
R 2 A

Resources

zhanyl