Luka 精通汉诺塔游戏,并发明了一种类似的圆盘与杆的游戏。该游戏由 $n$ 个不同大小的木制圆盘和 36 根杆组成。圆盘按大小递增的顺序编号为 $1$ 到 $n$。杆按从上到下编号为 $1$ 到 $6$,从左到右编号为 $1$ 到 $6$,共组成 6 行 6 列。
一个操作示例
游戏开始时,所有 $n$ 个圆盘以任意顺序堆叠在左上角的杆上。在每一步中,玩家可以从某根杆 $R$ 的顶部拿起一叠一个或多个圆盘,并将它们(不改变顺序)转移到 $R$ 正下方或正右方的杆的顶部。游戏的目标是让所有圆盘堆叠在右下角的杆上,并按大小从上到下递增的顺序整齐排列。
给定左上角杆上圆盘的初始顺序,请找出任何能解决该游戏的有效步骤序列。你可以假设解总是存在的。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 40\,000$),表示圆盘的数量。下一行包含一个序列 $d_1, d_2, \dots, d_n$ ($1 \le d_k \le n$),表示左上角杆上圆盘的初始顺序(从底到顶)。
输出格式
输出 $m$ 行,其中 $m$ 是你解法中的步数。第 $k$ 行应包含四个标记 $r_k, c_k, p_k, n_k$,描述你解法中的第 $k$ 步。标记含义如下:
- $r_k$ 和 $c_k$ 是 $1$ 到 $6$ 之间的整数,表示我们从中拿起圆盘的杆所在的行号和列号,
- $p_k$ 是大写字母 “D” 或 “R”,分别表示我们将圆盘转移到正下方或正右方的杆,
- $n_k$ 是一个正整数,表示我们在这一步中转移的圆盘数量。
所有步骤必须符合上述规则,并正确解决该谜题。
样例
输入 1
6 1 6 5 4 3 2
输出 1
1 1 D 6 2 1 D 6 3 1 D 6 4 1 D 6 5 1 D 6 6 1 R 6 6 2 R 6 6 3 R 6 6 4 R 6 6 5 R 5 6 5 R 1
说明 1
在上面的示例中,前 9 步只是将所有圆盘在不改变顺序的情况下移动到第 6 行第 5 列的杆上——即右下角目标杆的左侧。在接下来的步骤中,从该杆顶部取出的 5 个圆盘(从底到顶为 $6, 5, 4, 3, 2$)被移动到目标杆上。最后,圆盘 1 被移动到目标杆上,从而获得目标顺序(从底到顶为 $6, 5, 4, 3, 2, 1$)。