#arc071a. [arc071_a]Dubious Document

[arc071_a]Dubious Document

题目描述

Snuke喜欢"纸张切割":他会从报纸的头条中剪下字符,并重新排列它们形成另一个字符串。

明天他将收到包含字符串S1,...,SnS_1,...,S_n之一的头条新闻。他非常兴奋,已经在思考他将创建的字符串。由于他还不知道头条中的字符串,他对能够创建的字符串非常感兴趣,而不管头条中包含哪个字符串。

找出在头条包含的S1,...,SnS_1,...,S_n之一的字符串的情况下可以创建的最长字符串。如果存在多个这样的字符串,找到其中按字典顺序最小的一个。

约束条件

  • 1n501 ≤ n ≤ 50
  • 对于每个i=1,...,ni = 1, ..., n1Si501 ≤ |S_i| ≤ 50
  • 对于每个i=1,...,ni = 1, ..., nSiS_i由小写英文字母(a - z)组成。

输入和输出

输入按照以下格式从标准输入给出:

nn S1S_1 ...... SnS_n

输出打印满足条件的最长字符串中按字典顺序最小的一个。如果答案是空字符串,则打印一个空行。

示例

以下示例中,输入为 n=3n=3S1=S_1=cbaa,S2=S_2=daacc,S3=S_3=acacac。

输入

输出

33 cbaacbaa daaccdaacc acacacacacac

aacaac

cbaacbaadaaccdaaccacacacacacac中可以创建出的字符串有aaaaaacaacacaacacaacaa等等。其中,aacaacacaacacaacaa是最长的,而这三个中按字典顺序最小的是aacaac

以下示例中,输入为 n=3n=3S1=S_1=a,S2=S_2=aa,S3=S_3=b。

输入

输出

33 aa aaaa bb

空行

答案是一个空字符串。