#1097. 2-04G. 小秋的心

内存限制:512 MiB 时间限制:3000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: LittleFall

题目描述

随着时间的流逝,小秋发现自己的心里慢慢多了一个人的影子。

TA会在小秋做每件事情的时候出现,但是当小秋想要凝视TA,TA又会慢慢消散。

小秋不知道该怎么样敞开自己的心,对TA诉说自己的心扉,你能帮帮小秋吗?

你可以认为小秋的心里有24个记忆方格,每个记忆方格的值只会是1,2,3。且每个值恰好出现8次,它们的一种排列方式如下:

avatar

周围的八个字母表示可以帮小秋进行的操作,每次执行操作会将箭头所在的一行(列)的小方格按箭头所指方向循环移动一位。举例来说,如果使用操作A,第三列的七个方格从上到下会由2221333变成2213332.

只有当心周围的八个记忆方格的数字相同时,小秋才会展露自己的心扉。对于上面图片中的情形,可以使用操作序列“JM",之后情形会变为:

avatar

现在,小秋想要找到一个最短的操作序列,如果有多个最短,他希望找到字典序最小的一个操作序列。

你能帮帮小秋吗?

输入格式

输入只有一行,包括24个被整数隔开的数字(1,2,3),保证每个数字恰好出现8次。

表示初始局面从上到下,从左到右24个数字依次的值。

输出格式

首先输出一行,最少需要的操作数。

如果操作数不为0,再输出一行,表示字典序最小的操作序列。

样例

样例输入

2 2 2 2 2 2 2 1 1 1 2 1 1 3 3 3 1 1 1 3 3 3 3 3

样例输出

2
JM

数据范围与提示

注意,8个操作依次是"ABCDEFJM",而不是"ABCDEFGH"。