现在是 1990 年,你是电子游戏开发团队的一员,这款游戏将彻底改变街机游戏的未来。玩家会得到一个包含若干白色和黑色方块的矩形棋盘。游戏的目标是将整个棋盘变为白色。在每一回合中,玩家可以从无限供应的俄罗斯方块(tetromino)中选择一个,将其在棋盘范围内移动和旋转,并翻转该俄罗斯方块所覆盖的四个方块的颜色。俄罗斯方块是由 4 个方块组成的连通集合(见图 D.1)。
Screenshot of World of Xor
不幸的是,测试团队一直在抱怨有些关卡无法通关。你知道测试人员的技术足够娴熟,可以将方块放置在任何需要的位置和旋转角度,因此问题可能出在别处。你的下一个调试步骤是编写一个程序,检查关卡是否可解。
图 D.1:所有俄罗斯方块。来自维基媒体。
输入格式
第一行包含两个整数 $m$ 和 $n$ ($1 \le m, n \le 100$),表示棋盘的尺寸。 接下来 $m$ 行,每行包含 $n$ 个字符。字符 ‘.’ 表示白色方块,字符 ‘X’ 表示黑色方块。
输出格式
如果关卡可解,输出一行单词 “possible”;如果不可解,输出 “impossible”。
样例
输入格式 1
3 3 ... ... ...
输出格式 1
possible
输入格式 2
3 3 XXX XXX XXX
输出格式 2
impossible