U283439 检测数码管
题目背景
我们以前常见的液晶数码管能够方便的显示出 $0$ 到 $9$ 的数字。以下是每个数字的表示形式。

题目描述
假设 LED 手表的屏幕由四个七段数码管(表示小时和分钟)和中间两个短管(表示冒号 `:` ) 组成。
手表上显示的时间可以抽象为 $7$ 行长度为 $21$ 的字符串。每个七段数码管用 $7$ 行 $4$ 列,的字符串表示,数码管与数码管或冒号之间用一列 `.` 隔开。每个数码管由两个字符表示,冒号上下各用一个字符表示。`X` 代表这段数码管是亮的,`.` 代表其他情况(这段数码管灭或者非数码管位置)。以下是 $20:36$ 的表示:
```
.XX...XX.....XX...XX.
...X.X..X......X.X...
...X.X..X.X....X.X...
.XX..........XX...XX.
X....X..X.X....X.X..X
X....X..X......X.X..X
.XX...XX.....XX...XX.
```
其中,第 $1−4$ 列表示 $2$,第 $6−9$ 列表示 $0$ ,第 $11$ 列表示冒号 ,第 $13−16$ 列表示 $3$ ,第 $18−21$ 列表示 $6$ 。
现在手表出了故障,有些数码管不能正常工作,可能表现为永远亮或永远灭。不会存在非数码管位置亮的情况。
给你连续 $n$ 分钟的手表的显示情况,请编写一个程序判断数码管的状态。
输入格式
第一行一个正整数 $n ( n≤100 )$,含义如上所述。
接下来 $7n$ 行,每行一个长度为 $21$ 的字符串,表示手表的显示情况。每分钟之间以一个空行分隔。
输出格式
如果给出的情况是不可能发生的,输出 `impossible` 。
否则按以下规则输出 $7$ 行长度为 $21$ 的字符串。 如果对应位置的数码管正常工作,输出 `W` ;对应位置的数码管永远灭,输出 `0` ; 对应位置的数码管永远亮,输出 `1` ;对应位置的状态不能确定,输出 `?` 。对于非数码管的位置,输出 `.` 。
说明/提示
样例一中可能的情况有 (0:58,0:59,1:00) (10:58,10:59,11:00) (20:58,20:59,21:00)
我们把这三种可能情况综合考虑每个液晶管可能的状态,得到上述结果。