CSL 的魔表
题号:NC24000
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述


魔表是魔方家族的魔方之一,由Christopher C. Wiggs 和 Christopher J. Taylor发明。后被厄尔诺·鲁比克购买其专利并在1988年予以上市。


魔表是一个两面都需要进行复原的魔方,每个面上面有九个表盘。魔表的四个角上的表盘分别有齿轮控制表针的转动(同时转动两面),每一面中间的五个表盘则需要通过按钮(立柱)的状态来控制,每面都有四个按钮,按上按钮的作用是绑定当前面的周围的表针与外表盘一起转动。如下图所示(左侧为正面)



按钮在两面上形成此进彼出的关系。

魔表的转动表示方法如下:

魔表的朝向为:12 点向上。
按钮按上:UR(上右),DR(下右),DL(下左),UL(上左),U(上面两个),R(右面两个),D(下面两个),L(左面两个),ALL(所有)。
紧跟着按钮按上后转动上层,转动完成后将按钮按下:x+(顺时针 x 小时),x-(逆时针 x 小时)。
翻转魔表并保持 12 点向上,然后将所有按钮按下:y2。

例如:操作 UR3+ 后魔表的状态变为:



再操作 D2- 后变为:



翻面 y2 后操作 L1- 后变为:



CSL 的手里有一个被打乱的魔表,
表盘的编号如下:


根据上面描述的魔表的结构,表盘的状态应满足以下四个恒等式:





将打乱的表盘在两面上都归为 12 点位置即为还原。

严格地说,你需要通过若干次对表盘上的 , 矩阵中的每个数进行模 12 意义下的加法运算,使得所有的数最后都为 0。

他觉得这个东西太简单了,很快就复原了,你能打败他吗?

输入描述:

第一行有 9 个整数 ,表示正面各表盘的状态。

第二行有 9 个整数 ,表示反面各表盘的状态。

为了方便,12 点状态用 0 表示。

输入数据保证该状态是一个合法的打乱状态。


输出描述:

在一行输出你的每一步操作,中间用空格隔开。格式为 Px+ 或 Px-,P表示按上的立柱和转动的齿轮(可以是 UR,DR,DL,UL,U,R,D,L,ALL),。其中拨动 6 小时必须记做 6+,不能拨动 0 小时。具体请参考样例输出。

你可以输出任意一种可以还原的解法,但是操作步数 (包括 y2)不能超过 200 步。
示例1

输入

复制
8 11 0 11 11 0 1 11 2
0 3 4 10 1 1 10 10 11

输出

复制
L1+ y2 D2+ UR3-

备注:

样例的打乱状态如题目描述中所示。

为了方便理解操作步骤对表盘状态的影响,给出其矩阵形式如下:


L1+ 操作:

y2 翻面:

D2+ 操作:

UR3- 操作: