这个游戏的规则可能与官方游戏略有不同。
Karen 和她的朋友们正在参加一场高风险的棋盘游戏锦标赛,玩的是流行的游戏《代号》(Codenames)。《代号》是一款有两个对立阵营的游戏:红队和蓝队。Karen 是红队的成员。
游戏在一个 $5 \times 5$ 的棋盘上进行,25 个格子中的每一个都被(秘密地)分配了四种类型之一。棋盘上每种类型的格子数量是固定的: 9 个红色格子 (r); 8 个蓝色格子 (b); 7 个中立格子 (n); 1 个刺客格子 (x)。
格子的真实类型只有每队的一名玩家(称为“情报员”)知道。其他玩家最初只看到一个充满覆盖格子的 $5 \times 5$ 网格。随着游戏的进行,格子会逐渐揭开。每个被覆盖的格子都包含一个物体的名称(这与本题无关)。
幸运的是,Karen 是她队伍的情报员,所以她知道棋盘的真实配置。她的职责是帮助队友发现红色格子,同时让他们远离所有其他格子(尤其是刺客格子)。她可以通过发布一个提示来做到这一点,提示包含: 一个有效的单词 $w$(来自一个包含 $n$ 个单词的词典); 一个正整数 $g$(队友应该进行的猜测次数)。
她的队友随后会根据提示尝试猜测尽可能多的红色格子。他们从第一次猜测开始,揭开其中一个格子。如果揭开的格子是红色的,他们可以继续猜测;否则,他们的回合结束,另一队开始他们的回合。如果一队揭开了所有对应颜色的格子,或者另一队揭开了刺客格子,该队就赢得了游戏。
为了说明这一点,让我们考虑下面(对应于样例的)游戏状态。左图显示了 Karen 眼中的棋盘。中间的图片显示了她队友眼中的棋盘。请注意,有些格子对 Karen 的队友来说是覆盖的,只有 Karen 知道它们的真实类型。右图的含义将在下文中解释。
最初,Karen 的目标是给出与某些红色格子中描述的物体名称相关的提示,以便队友知道只揭开那些格子。然而,她很快意识到游戏进展并不顺利,蓝队可能会在下一回合击败他们。值得庆幸的是,她和她的朋友们专门为这些情况设计了一个秘密的“紧急作弊方案”。
他们首先按照行优先顺序(如上图右侧所示)为 25 个格子中的每一个分配一个字母。然后,当 Karen 公布一个单词 $w$ 和一个数字 $g$ 时,她的队友会执行以下操作:
- 按顺序遍历单词 $w$ 的每个字母 $w_i$;
- 如果 $w_i$ 没有分配给任何格子,或者 $w_i$ 对应的格子已经被揭开,则什么都不做;否则,猜测 $w_i$ 对应的格子。
队友重复此过程,直到他们揭开了所有正确的格子、犯了错误(揭开了非红色格子)、已经进行了所有 $g$ 次猜测,或者单词 $w$ 的所有字母都被揭开。
在上面的例子中,Karen 可以向她的队伍宣布“actor 2”。她的队伍会首先猜测格子 $(1, 1)$(对应字母 a),跳过字母 c(因为格子 $(1, 3)$ 已经被揭开),然后猜测格子 $(4, 5)$,从而赢得游戏(因为其他红色格子已经被揭开)。
Karen 想利用这个方案在一回合内赢得游戏。她知道所有 $n$ 个有效单词的词典,以及游戏的当前状态。找出她应该向她的队伍宣布的提示,以帮助他们获得胜利!
你需要解决 $q$ 个不同的场景。词典对于所有场景都是相同的,但棋盘配置可能不同。
输入格式
第一行包含一个正整数 $n$ ($1 \le n \le 100\,000$),表示有效单词的数量。 接下来的 $n$ 行,每行包含一个长度至少为 1 且最多为 30 个字母的字符串,代表词典中的单词。
接下来的一行包含一个正整数 $q$ ($1 \le q \le 100\,000$),表示场景的数量。然后是 $q$ 个场景,每个场景描述一个棋盘。每个棋盘由一个 $5 \times 5$ 的字符网格表示,字符来自集合 $\{r, b, n, x\}$(红/蓝/中立/刺客)。如果字母是大写的,则意味着该格子已经被揭开(否则该格子被覆盖)。至少有一个蓝色和一个红色的覆盖格子,且刺客格子总是被覆盖的;换句话说,状态总是表示游戏尚未结束。
输出格式
对于每个场景,输出由单词 $w$ 和数字 $g$ ($1 \le g \le 9$) 组成的提示,使 Karen 的队伍获胜。如果对于特定场景无法宣布这样的提示,则打印单个单词“IMPOSSIBLE”(不含引号)来代替提示。如果存在多个解,则接受任何一个。不同场景的答案应打印在单独的行上。
样例
输入 1
3 actor cheat zeta 1 rBBnR NRnbB nRRnR NRxBr nBRbB
输出 1
actor 2
说明
注意,Karen 不能宣布例如 cheat 3,因为她的队伍最终会揭开位置 $(2, 3)$ 的格子并结束他们的回合。其他一些正确的解可以是 zeta 2 或 actor 4。