你正在玩一个游戏,一群玩家轮流说出动物名称。轮到你时,你说的动物名称必须以之前玩家所说动物名称的最后一个字母开头,且该名称在本轮游戏中此前未被说过。如果没有合法的名称,或者你想不出一个名称,你就会被淘汰。
给定轮到你之前最后说的动物名称以及所有尚未使用的名称列表,你能否通过这一轮?如果可以,你能否确保淘汰下一位玩家?
样例输入 1 的解法,图片来自 Wikimedia Commons,作者 Kuebi,采用 cc by-s 协议
输入格式
输入的第一行包含一个单词,即上一位玩家刚刚说的动物名称。下一行包含一个整数 $n$ ($0 \le n \le 10^5$),表示有效的未使用动物名称的数量。接下来的 $n$ 行,每行包含一个有效的未使用动物名称。
所有动物名称(包括上一位玩家说的名称)都是唯一的,且由 1 到 20 个小写字母 ‘a’-‘z’ 组成。
输出格式
如果你能说出一个动物名称并淘汰下一位玩家,请输出输入列表中第一个这样的名称,并在其后加上一个感叹号。否则,如果存在你可以说的动物名称,请输出第一个这样的名称。如果没有任何可以说的名称,请输出一个问号(在这种情况下,你只能编造一个假名字,希望其他人相信那是一种真实的动物)。
样例
输入格式 1
pig 2 goat toad
输出格式 1
goat
输入格式 2
dog 2 snake emu
输出格式 2
?
输入格式 3
hare 3 bee cat eagle
输出格式 3
eagle!