4440 - 词链

如果单词 X 的末字母与单词 Y 的首字母相同,则 XY 可以相连成 X.Y。(注意:XY 之间是英文的句号 .)。例如,单词 dog 与单词 gopher,则 doggopher 可以相连成 dog.gopher

另外还有一些例子:

  • dog.gopher
  • gopher.rat
  • rat.tiger
  • aloha.aloha
  • arachnid.dog

连接成的词可以与其他单词相连,组成更长的词链,例如:

aloha.arachnid.dog.gopher.rat.tiger

注意到,. 两边的字母一定是相同的。

现在给你一些单词,使得词链尽可能的长,使得每个单词在词链中最多出现且仅出现一次。注意,相同的单词若出现了 k 次就最多输出 k 次。

输入

第一行是一个正整数 n1 \le n \le 20),代表单词数量。

接下来共有 n 行,每行是一个由 120 个小写字母组成的单词。

输出

只有一行,表示组成字典序最小的词链 。保证答案唯一

样例

输入

6
aloha
arachnid
dog
gopher
rat
tiger

输出

aloha.arachnid.dog.gopher.rat.tiger

提示

  • 对于 100\% 的数据,有 n \leq 30

来源

原创

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题