你最近搬到了新家,并且快要完成装修了。然而,你仍然觉得缺少了点什么:墙上需要一些艺术品!由于你已经把大部分预算花在了家具上,你决定去最便宜的艺术品商店:廉价艺术印刷公司(BAPC)。
在 BAPC,你可以购买无限大的纸张,上面印有装饰图案。这种装饰由一个在所有方向上无限重复的矩形图案组成。该图案由白色(w)、红色(r)、绿色(g)或蓝色(b)的方形像素组成。购买纸张后,顾客可以裁剪出纸张的一部分来创作属于自己的艺术品。
你刚刚找到了一个你喜欢的像素图案,但在打印之前,你决定检查是否可以从中裁剪出一件美丽的艺术品。如果一件艺术品满足以下属性,你就会认为它是美丽的:
- 它是沿着像素边界裁剪出来的。
- 它是一个正方形。
- 该正方形四个角上的像素具有四种不同的颜色。
在这个印有选定图案的无限大纸张中,是否隐藏着一件美丽的艺术品?
例如,考虑第一个样例输入,如图 H.1 所示。在无限重复的图案中,可以找到几件美丽的艺术品。
图 H.1:第一个样例输入的视觉化。该图案在水平方向上重复了五次,在垂直方向上重复了两次,但请记住它在所有方向上都是无限重复的。三个粗体轮廓的正方形表示一些可能的美丽艺术品。
输入格式
输入包含:
- 第一行包含两个整数 $h$ 和 $w$($1 \le h \le 4000$,$1 \le w \le 50$),表示所选图案的高度和宽度。
- 接下来的 $h$ 行,每行包含一个长度为 $w$ 的字符串,由字符 $c$($c \in \{w, r, g, b\}$)组成,描述该图案。
输出格式
如果可以从印有选定图案的纸张中裁剪出一件美丽的艺术品,输出 "possible",否则输出 "impossible"。
样例
输入样例 1
3 2 wr wg bg
输出样例 1
possible
输入样例 2
2 4 gbrw wbgr
输出样例 2
impossible
输入样例 3
6 6 bwwrrr bbbrrr bbbrwr rrrggg rrrgww rwwggg
输出样例 3
possible