#Lutece3254. 养鸽人

养鸽人

Migrated from Lutece 3254 养鸽人

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

lh3k 养了一群白鸽,白天时将它们放走,晚上这群鸽子又会回到 lh3k 为它们准备的鸟窝中。

2024 年电子科技大学 ACM-ICPC 暑假前集训 打工两个月后,lh3k 终于拿到了给这群鸽子升级鸟窝的钱。此前这些鸽子是一鸟一个小草窝,现在它们可以住在一栋大砖瓦房里了!可是让这些鸽子认识这个新家却有些麻烦。

具体而言,原来每个鸽子的草窝前都有一个刻有自己名字的木板。鸽子会根据木板上名字来确定这个窝是不是自己的。现在所有鸽子都被赶进了一栋大房子里。要让这些鸽子把这个房子当成自己的老窝,就得在这个房子前也弄上这些名字。不巧的是,门前似乎没有那么多位置将每个鸽子的名字全部写下来。

但是通过观察,lh3k 发现这些鸽子在找家时只会关心自己的名字有没有出现,所以说他只需要在门前写上一个包含所有鸽子名字的字符串,这些鸽子就会把这里当成自己的家。

lh3k 想问问你,最短的包含所有鸽子名字的字符串是什么。如果有多个,告诉 lh3k 字典序最小的那个就行了。(所有鸽子的名字和你的答案都应只包含大写英文字母)

Input

第一行包含一个整数 n  (n15)n\;(n\le15),表示鸽子的数目。

接下来 nn 行每行包含一个长度不超过 8080 且全部由大写字母组成的字符串,表示这 nn 个鸽子的名字。

Output

输出一行一个字符串,表示最短的包含所有鸽子名字的字符串。(如有多个则输出字典序最小的那个就行)

Samples

输入数据 1

3
AA
BA
AC

输出数据 1

BAAC

输入数据 2

4
ABCC
CADE
CCPC
ABCA

输出数据 2

ABCABCCPCADE

Constraints

n15n\le 15,鸽子名字的长度 80\le 80

所有的输入都只包含大写字母,且保证没有两个鸽子的名字是一样的。