偏远国家 Stanistan 的部长们在决策时遇到了严重的问题。这一切始于几周前引入的一套决定通过哪些法案的新流程。该流程如下:在每次投票会议期间,有几项法案需要投票。每位部长通过对其中一些法案投“赞成”(yes)或“反对”(no)票来表达意见。由于用于评估实际投票的技术解决方案的设计限制,每位部长最多只能对四项不同的法案进行投票(尽管这通常不是问题,因为大多数部长只关心少数几个议题)。然后,根据这些投票,选择通过的法案,使得每位部长的意见有超过一半得到满足。
正如敏锐的读者无疑已经意识到的那样,这个过程可能会导致各种问题。例如,如果存在多种满足所有部长的可能选择,或者更糟糕的是,如果根本无法满足所有部长,该怎么办?即使部长的意见能带来唯一的选择,又该如何找到这个选择?
你的任务是编写一个程序来帮助部长们解决其中的一些问题。给定部长们的投票,程序必须找出是否可以满足所有部长,如果可以,确定在给定约束下只有唯一可能选择的那些法案的决定。
输入格式
输入包含多个测试用例。每个测试用例以整数 $B$ ($1 \le B \le 100$) 开始,表示要投票的截然不同的法案数量,以及 $M$ ($1 \le M \le 500$),表示部长的数量。接下来的 $M$ 行给出部长的投票。每行以一个整数 $k$ ($1 \le k \le 4$) 开始,表示该部长投票的法案数量,随后是 $k$ 个投票。每个投票的格式为 <bill> <vote>,其中 <bill> 是 $1$ 到 $B$ 之间的一个整数,用于标识所投票的法案,而 <vote> 是 y 或 n,表示部长的意见是“赞成”(yes)或“反对”(no)。没有部长会对同一项法案投票超过一次。最后一个测试用例后面是一行,包含两个零。
输出格式
对于每个测试用例,打印测试用例编号(从 1 开始),后跟处理结果。如果无法满足所有部长,结果应为 impossible。否则,结果应为一个长度为 $B$ 的字符串,其中第 $i$ 个字符为 y、n 或 ?,具体取决于对第 $i$ 项法案的决定应该是“赞成”(y)、“反对”(n),还是给定的投票无法确定该法案的决定。
样例
输入样例 1
5 2 4 2 y 5 n 3 n 4 n 4 4 y 3 y 5 n 2 y 4 2 4 1 y 2 y 3 y 4 y 3 1 n 2 n 3 n 0 0
输出样例 1
Case 1: ?y??n Case 2: impossible