最近,Little Apple 沉迷于一款名为“智龙迷城”(Puzzle & Dragons,简称 PAD)的游戏。 在这个游戏中,有一个 $5 \times 6$ 的网格,每个方格中都包含一个宝珠。宝珠共有 6 种类型:火(Fire)、水(Water)、木(Plant)、光(Light)、暗(Darkness)和心(Cure),分别用 F、W、P、L、D、C 表示。你可以查看下图以更直观地了解游戏。
游戏开始时,玩家可以选择一个宝珠并沿着路径移动它。路径上的第一个宝珠会移动到第二个宝珠的位置,第二个宝珠会移动到第三个宝珠的位置,依此类推。最后一个宝珠会移动到第一个宝珠的位置。你可以假设宝珠只能向上、向下、向左或向右移动。例如,如果拼图的一行最初是“FWPLDC”,那么火宝珠被选中并沿直线路径移动到最右端,这一行就会变成“WPLDCF”。
路径选择完成后,消除开始。如果同一行或同一列中有 3 个或更多相同类型的宝珠相连(称为“链”),它们将被消除,其上方的宝珠会掉落,消除后不会出现新的宝珠。此检查和消除过程将重复进行,直到不再存在链为止。
如果移动后有多个链被消除,它们将形成“连击”(combos)。需要注意的是,与某些具有类似系统的游戏不同,如果两个相同类型的链相邻或共享某些公共宝珠,它们将被计为 1 个连击。下图展示了这种情况的 2 个示例。
现在,你的任务是从所有长度不超过 9 的路径中选择一条能产生最多连击的路径。如果存在平局,选择能消除最多宝珠的路径(因为这会增加伤害和恢复的 HP)。如果仍然平局,选择路径长度最短的。如果仍有多个解,输出其中任意一个即可。
输入格式
输入的第一行给出了测试用例的数量 $T$ ($T \le 100$)。接下来是 $T$ 个测试用例。 每个测试用例包含 5 行,每行包含 6 个字符(F、W、P、L、D 或 C 中的一个),代表你需要解决的拼图。
输出格式
对于每个测试用例,首先打印一行“Case #x:”,其中 $x$ 是测试用例编号(从 1 开始)。
然后打印三行描述解法:
第一行包含 Combo:a Length:b,表示该解法可以达到的连击数为 $a$,路径长度为 $b$。
第二行包含两个整数 $x$ 和 $y$,表示位于 $(x, y)$ 的宝珠被选中(左上角为 $(1, 1)$,右下角为 $(5, 6)$)。
第三行包含一个长度不超过 9 的字符串,每个字符为 U、D、L 或 R,分别代表将宝珠向上、向下、向左或向右移动。
样例
输入 1
1 CFFLLW CPDPDC FLDWFD LFCFCD CDPLWL
输出 1
Case #1: Combo:5 Length:9 43 RURURDLDD
说明
移动后,拼图变为:
CFFLLW CPDPCD FLDFCD LFFWWD CDPLCL
第一次消除(1 个连击,3 个宝珠):
CFFLL CPDPC FLDFC LFFWWW CDPLCL
第二次消除(1 个连击,3 个宝珠):
CFF CPDLL FLDPC LFFFC CDPLCL
第三次消除(2 个连击,6 个宝珠):
C CFF FPDL LLDP CDPLLL
第四次消除(1 个连击,3 个宝珠):
C CFF FPD LLDL CDPP