Vincent 和 Desta 是童年好友。今天,Vincent 用一些字母拼块向 Desta 展示了 $N$ 个不同的 $L$ 字母单词。每个拼块包含一个大写英文字母和一个 $1$ 到 $L$ 之间的数字。一个单词由 $L$ 个分别标有 $1$ 到 $L$ 的拼块按顺序拼出。(Vincent 的单词不一定是真实的英语单词。)
例如,如果 Vincent 有 $N = 3$ 个长度为 $L = 4$ 的单词,且单词为 {CAKE, TORN, SHOW},那么 Vincent 必须向 Desta 展示以下内容:
Desta 觉得创造单词一定很简单,他想创造一个符合上述规则且不是 Vincent 现有单词之一的新单词。然而,Desta 自己没有任何拼块,所以他必须使用 Vincent 的一些拼块。
例如,如果 Vincent 有上述示例中的单词,那么 Desta 可以创造一个新单词,如 CORN 或 SAKE 或 CHRE(Desta 的单词也不一定是真实的英语单词)。每个示例都在下图中说明:
注意上图中三行是独立的。Desta 只需要创造一个新单词。
然而,在上面的例子中,Desta 不能创造 WAKE,因为没有标号为 $1$ 的 W 拼块。他也不能创造 COO,因为长度不对。
注意,Desta 可能无法创造出新单词。例如,如果 Vincent 只有一个单词,那么 Desta 无法创造任何新单词。或者,如果 Vincent 有单词 {AA, AB, BA, BB},那么 Desta 能组成的任何单词都已经存在了。
请帮助 Desta 选择一个他可以使用 Vincent 的拼块向 Vincent 展示的单词,或者指出这是不可能的。
输入格式
输入的第一行给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例的第一行包含两个整数 $N$ 和 $L$:Vincent 的单词数量和每个单词的长度。接下来有 $N$ 行,第 $i$ 行包含一个长度为 $L$ 的大写英文字母字符串,表示 Vincent 的第 $i$ 个单词。
输出格式
对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是 Desta 可以选择的有效单词;如果 Desta 没有有效的单词可选,则输出 -(ASCII 值为 $45$ 的单破折号字符)。如果 Desta 可以组成多个有效单词,你可以输出其中任意一个。
数据范围
$1 \le T \le 100$。 Vincent 的任意两个单词都不相同。
测试集 1(可见) $1 \le N \le 26^2$。 $1 \le L \le 2$。
测试集 2(隐藏) $1 \le N \le 2000$。 $1 \le L \le 10$。
样例
输入 1
5 4 1 A B C D 4 2 WW AA SS DD 4 2 AA AB BA BB 3 4 CAKE TORN SHOW 5 7 HELPIAM TRAPPED INSIDEA CODEJAM FACTORY
输出 1
Case #1: - Case #2: WA Case #3: - Case #4: CORN Case #5: HOLIDAY
说明
注意最后两个样例不会出现在测试集 1 中。
在样例 #1 中,唯一可以使用 Vincent 的拼块构成的单词是 A, B, C, D。然而,所有这些单词都已经出现在 Vincent 的单词列表中,因此 Desta 不允许选择它们。
在样例 #2 中,有 12 个可能的 Desta 可以创造的新单词,其中一个是 WA。
样例 #3 已在上面的题目描述中解释;没有 Desta 可以创造的新单词。
样例 #4 已在上面的题目描述中解释;其他答案如 SAKE 也是可能的。
在样例 #5 中,其他答案如 TRAPJAM 也是可能的。