#P2630. Security Panel

Security Panel

问题描述

高级控制机制公司(ACM)生产精密电子锁和安全设备。

该公司最新发明了一种由r行c列发光按钮组成的面板。按钮按从左到右、从上到下的顺序编号,左上角第一个按钮为1号。每个按钮有两种状态:点亮和熄灭,初始时所有按钮均为熄灭状态。按下一个按钮会根据一个3×33×3的模式切换某些按钮的状态(点亮变熄灭或熄灭变点亮)。在面板上按下某个按钮时,该模式会以该按钮为中心生效。要解锁面板,必须通过按压按钮使所有按钮都处于点亮状态。

例如,考虑以下模式:按下一个按钮会切换该按钮本身、其上方按钮,以及左上方和左下方按钮的状态。

若在一个2×32×3的面板上使用此模式,按压按钮2562、5、6可点亮所有按钮。按此顺序按压时,面板的状态变化如下:

</p>

Input

输入格式

每个输入案例以一行单独的面板行数rr和列数cc开始1r,c5(1 ≤ r,c ≤ 5)。接下来三行描述按下按钮对周围灯的影响,由一个3×33×3的字符网格表示:字符“*”表示该位置的灯会切换状态,“.”表示状态不变。
输入以单独一行0 0结束。

输出格式

对每个案例,输出“Case #”后跟案例编号。若无法点亮所有灯,输出“Impossible.”;若可能,按升序输出需要按压的按钮编号,以空格分隔,且需保证按压次数最少。

输入样例1

2 3  
**.  
.*.  
*..  
4 5  
.*.  
***  
.*.  
2 2  
...  
.**  
...  
4 3  
*.*  
...  
..*  
0 0  

输出样例1

Case #1  
2 5 6  
Case #2  
2 3 4 7 9 12 14 17 18 19  
Case #3  
1 3  
Case #4  
Impossible.