世界杯小组赛已经结束,各队已准备好进入淘汰赛阶段,许多专家都在试图预测下一届世界冠军。其中一位是鲍里斯(Boris),他曾准确预测了过去四届世界杯的冠军。
“降低这支球队的胜算,因为他们有巴塞罗那的球员;提高那支球队的胜算,因为他们有皇家马德里的队长……”鲍里斯正在计算,“现在我只需要将整数 $x$ 和 $y$ 相乘,我就能宣布下一届世界冠军了。”
观众突然安静下来。他们正焦急地等待着克罗地亚是否会获胜。
鲍里斯将使用他著名的四寄存器方法来计算 $x$ 和 $y$ 的乘积。
他有四个寄存器:A、B、C 和 D。它们的初始值分别为 $x, y, 0$ 和 $1$。他唯一被允许进行的操作是将两个寄存器(可以是同一个)的值相加,并将结果存储在其中一个寄存器中。每个寄存器的值最大可达 $2 \cdot 10^{18}$。
他不希望观众等待太久,因此他最多只能进行 $100$ 次这样的操作。
请帮助他确定需要进行的操作,以及最终结果将存储在哪个寄存器中。
输入格式
输入的第一行包含正整数 $x$ 和 $y$ ($1 \le x \cdot y \le 10^{18}$),即鲍里斯需要相乘的数字。
输出格式
在第一行输出整数 $n$ ($0 \le n \le 100$),即鲍里斯需要进行的操作次数。
在接下来的 $n$ 行中,每行输出一个操作,格式为 R1 R2 R3,其中 Rj 是寄存器的标签(A、B、C 或 D),该操作表示将 R1 和 R2 的和存储在 R3 中。
如果有多种正确的解法,输出其中任意一种即可。该解法不需要是最少操作次数的解法。
子任务
| 子任务 | 分值 | 数据范围 |
|---|---|---|
| 1 | 14 | $x, y \le 50$ |
| 2 | 14 | $x \cdot y \le 10^4$ |
| 3 | 42 | 无额外限制 |
样例
输入格式 1
1 2
输出格式 1
1 A A A
说明
寄存器 (A, B, C, D) 在第 $i$ 次操作后的值如下: 0: (1, 2, 0, 1) - 初始状态 1: (2, 2, 0, 1) - 执行操作 A A A 后 1 和 2 的乘积存储在标签为 A 的寄存器中。
输入格式 2
3 2
输出格式 2
6 D C C D C C D C C D C C D C C D C C
说明
寄存器 (A, B, C, D) 在第 $i$ 次操作后的值如下: 0: (3, 2, 0, 1) - 初始状态 1: (3, 2, 1, 1) - 执行操作 D C C 后 2: (3, 2, 2, 1) - 执行操作 D C C 后 3: (3, 2, 3, 1) - 执行操作 D C C 后 4: (3, 2, 4, 1) - 执行操作 D C C 后 5: (3, 2, 5, 1) - 执行操作 D C C 后 6: (3, 2, 6, 1) - 执行操作 D C C 后 2 和 3 的乘积存储在标签为 C 的寄存器中。