#P9925. 绝对不模拟的简单魔方

绝对不模拟的简单魔方

绝对不模拟的简单魔方

Problem Description

小T最近有些疲惫,想找一些能够放松自己的事情去做,正好想起上次被队友用三阶魔方暴杀的经历,就想苦练一下魔方技术,好在下次的对战中击败他的队友。 于是他在网上下单了一个魔方,让小C帮他去取快递。 可是小C有些调皮,私自拆开了快递,随意的扭了这个魔方不超过三次(扭的是侧面,不是中间层,且扭的角度固定为90度),还弄掉了同一个角上的两片贴纸。 小C的记性不太好,不太记得两片贴纸正确的位置了,所以随意的将两片贴纸贴了回去,并将这件事告诉了小T。 但小T作为一个还在学习如何还原底层十字的小萌新,面对被小C打乱过的魔方很是束手无策。 所以他向你寻求帮助,希望你告诉他小C有没有将两片贴纸正确的贴回去,如果没有的话,是哪一个角的贴纸贴错了呢。

Input

第一行有一个整数,T T 1T10 1 \leq T \leq 10 ) ,代表数组组数 每组数据输入一个 9 9 12 12 列的字符型矩阵。 矩阵表示魔方的平面展开图,展开图的格式固定。 输入格式为: 图片 表示一个魔方的平面展开图。 未打乱的魔方为: 图片 "x"在输入的数据中是 [1,6] \left[ 1,6 \right] 中的一个数字,表示这个块原来属于哪一面。 保证所给的魔方至多被扭过三次,且只扭了侧面,没有旋转过中间层。

Output

如果两片贴纸被正确的贴了回去,输出"No problem",否则按升序输出贴错贴纸的角上的三个数字。

Sample Input

2
***111******
***111******
***111******
223233444555
222333444555
222333444555
***666******
***666******
***666******
***111******
***111******
***111******
333444555222
222333444555
222333444555
***666******
***666******
***666******

Sample Output

1 2 3
No problem

Source

2024“钉耙编程”中国大学生算法设计超级联赛(2)