#P1797. IXCEL 表格(ixcel)

IXCEL 表格(ixcel)

【问题描述】

LT 很喜欢模仿别人的程序。最近,他又做出了一个仿“Excel”的表格软件,LT 为了区分出这是他的“杰作”,他给这个软件取名为“Ixcel 表格软件”。(“Ixcel”读音和“Excel”相同)。Ixcel 虽说是仿造的,但是与Excel 还是有很大区别。For example, 我们来看看Ixcel 中的行列号规定。

Ixcel 中的行列号(不为零!列号或行号为0 的单元格是不存在的!)都是使用大写
字母标识的,但是行列号之间有不同的标识规定:
·Ixcel 中的行号,第 1 行是 A,第 2 行是 B,然后依次标下去,第 26 行是 Z。之后
行号变为两位从 AA~ZZ 以字母顺序标识(AA,AB,AC..AZ,BA,BB,BC..ZZ)。再之后行号
变为三位大写字母 AAA~ZZZ(AAA,AAB,AAC..AAZ,ABA...ZZZ),依次类推。行数是没
有限制的。
·Ixcel 中的列号,第 1 列是 A,第 2 列是 B,然后依次标下去,第 26 列是 Z。与行
号不同的是,合法的列号的标识前面一个字母的 ASCII 码必须小于后一个字母的 ASCII
码 , 所 以 接 下 来 的 列 号 变 为 两 位 从 AB~YZ 根 据 合 法 顺 序 标 识
(AB,AC,AD..AZ,BC,BD,BE..YZ) 。 再 之 后 列 号 变 为 三 位 大 写 字 母
ABC~XYZ(ABC,ABD,ABE..ABC,ACD...XYZ),依次类推。因为 Ixcel 列号的独特性,
列数并不是没有限制的,列号最大是 26 位,超过列数限制的单元格是不存在的。

MK 很荣幸地成为了第一个使用 Ixcel 的用户。他想知道一份非常大的表格数据中的某些单元格的内容,但他不知道 Ixcel 中这些单元格的行号和列号分别是什么,请你来编程帮帮 MK。

【输入格式】

输入的第 1 行包括两个正整数,数据表格允许的最大行列数 M 和要查询的单元格数量N。

接下来 N 行,每行一条格式为“X1 N1 X2 N2”的查询。X1 代表大写字母‘R’或‘C’,X2 也代表大写字母‘R’或‘C’。‘R’表示行,‘C’表示列。N1 和 N2 都为一个自然数。

数据并不保证一定存在这样的单元格。合法的单元格是表示为‘R NUM C NUM’或‘C NUM R NUM’的形式,行号或列号不能大于 M 且在表格中能够找到的单元格。

【输出格式】

输出共 N 行,对每一条查询,输出所在单元格的行号和列号,用一个空格隔开。如果单元格不存在(即不合法),则输出-1。每条查询的输出占一行。格式可参照输入输出样例。

【样例输入】

123 3
R 26 C 27
R 27 C 26
R 124 C 10

【样例输出】

Z AB
AA Z
-1

【数据范围】

M<=100,000,000

N<=100

0<=NUM<=1,000,000,000