AT_abc268_d [ABC268D] Unique Username

题目描述

高桥君有取名选择困难症,于是他找到你,希望帮他取一个用户名。 具体取名规则是:把给定的 $N$ 个字符串 $S_1,S_2,\ldots,S_N$ 以任意顺序排列,并在每两个字符串中间加 $\ge1$ 个下划线,要求不能与后面给定的 $M$ 个字符串 $T_1,T_2,\ldots,T_M$ 中的任意一个相同。 其中,你给出的字符串的长度 $X$ 应该满足 $3\le X \le 16$ 。如果无法满足条件,输出 $-1$。

输入格式

第一行两个整数,分别为 $N$ 和 $M$ ; 后 $N$ 行每行一个字符串 $S_i$ ; 后 $M$ 行每行一个字符串 $T_i$ 。

输出格式

一个满足题意的字符串 $X$ 。如果没有满足的,输出一个数 $-1$ 。

说明/提示

### 制約 - $ 1\ \leq\ N\ \leq\ 8 $ - $ 0\ \leq\ M\ \leq\ 10^5 $ - $ N,M $ は整数 - $ 1\ \leq\ |S_i|\ \leq\ 16 $ - $ N-1+\sum{|S_i|}\ \leq\ 16 $ - $ i\ \neq\ j $ ならば $ S_i\ \neq\ S_j $ - $ S_i $ は英小文字のみからなる文字列 - $ 3\ \leq\ |T_i|\ \leq\ 16 $ - $ i\ \neq\ j $ ならば $ T_i\ \neq\ T_j $ - $ T_i $ は英小文字と `_` のみからなる文字列 ### Sample Explanation 1 条件のうち $ 1 $ 番目と $ 2 $ 番目を満たす文字列は $ X= $ `chokudai` しかありませんが、これは $ T_1 $ と一致します。 このため、条件をすべて満たす文字列 $ X $ が存在せず、`-1` が正しい出力となります。 ### Sample Explanation 2 この他に、`choku\_\_dai` (`choku` と `dai` の間の `\_` が $ 2 $ つ) 等も条件をすべて満たします。 ### Sample Explanation 3 `chokudai\_\_atcoder` や `atcoder\_\_chokudai` (`chokudai` と `atcoder` の間の `\_` が $ 2 $ つ)は文字数が $ 17 $ なので $ 2 $ 番目の条件を満たしません。 ### Sample Explanation 4 $ 1 $ 番目の条件で記述されている操作で得られないような文字列が $ T_i $ として与えられる場合があります。