$RATS$ (Reverse Add Then Sort) 函数接收一个十进制整数(通常数字按升序排列)作为输入,并返回一个数字按升序排列的十进制整数。
计算该值的方法如下:
1) 将输入值的数字反转。 2) 将反转后的值与输入值相加。 3) 将和的数字按升序排序(去掉前导零)。
例如: $RATS(12334444): 12334444 + 44443321 = 56777765 \rightarrow 55667777$ $RATS(44556): 44556 + 65544 = 110100 \rightarrow 111$
本题涉及的序列,其第一个值是任意的,后续每个值都是前一个值的 $RATS$ 函数结果。例如: $12334444, 55667777, 123334444, 556667777, 1233334444, 5566667777, \dots$ $123, 444, 888, 1677, 3489, 12333, 44556, 111, 222, 444, 888, \dots$
第一个序列被称为“爬行者”(creeper)。可以证明它会以这种规律模式趋向无穷大。第二个序列进入了一个循环,在序列的第十项首次重复出现了一个值。据推测,每个 $RATS$ 序列最终要么进入“爬行者”模式并趋向无穷大,要么像第二个序列那样进入循环。
编写一个程序,给定起始值,计算 $RATS$ 序列的前 $M$ 项。你的程序还应检测序列在前 $M$ 项中是否出现了重复值,或者在前 $M$ 项中是否进入了“爬行者”模式。
输入格式
输入的第一行包含一个十进制整数 $P$ ($1 \le P \le 10000$),表示随后数据集的数量。每个数据集应被独立且相同地处理。
每个数据集由单行输入组成。它包含数据集编号 $K$,后跟一个空格,接着是需要计算的项数(包括初始值)$M$ ($1 \le M \le 60$),再后跟一个空格,最后是 $RATS$ 序列的初始值,这是一个数字按升序排列的十进制整数。该十进制整数最多有 40 位,尽管中间项可能会更长。
输出格式
对于每个数据集,输出一行。
如果序列在前 $M$ 项中进入了“爬行者”模式(即出现了形如 $1233+444$ 或 $5566+7777$ 的项),输出数据集编号、一个空格、大写字母 $C$、一个空格以及首次进入“爬行者”模式的项的索引。
如果序列在前 $M$ 项中出现了重复值,输出数据集编号、一个空格、大写字母 $R$、一个空格以及首次重复出现的项的索引。
否则,输出数据集编号、一个空格,以及序列的第 $M$ 项。
在前两种情况下,初始项的索引为 1。
样例
输入 1
3 1 30 123 2 30 1 3 30 11233455677899
输出 1
1 R 10 2 C 20 3 66677888