atcoder#ARC071A. [ABC058C] 怪文書

[ABC058C] 怪文書

配点 : 300300

問題文

すぬけ君は、文字列の書かれた紙から文字をいくつか切り抜いて、並び替えて別の文字列を作るのが好きです。

明日になると、すぬけ君は文字列 S1,...,SnS_1,...,S_n のうちどれか 11 つが書かれた紙がもらえます。 すぬけ君は文字列を作る事をとても楽しみにしているので、どんな文字列を作るか計画を立てることにしました。 ただし、すぬけ君はまだどの文字列が書かれた紙がもらえるかを知らないため、 どの文字列が書かれていた場合にも作れる文字列を考えることにしました。

S1,...,SnS_1,...,S_n のどの文字列が書かれていても作れる文字列のうち、最長のものを求めてください。 最長のものが複数ある場合は、辞書順で最小のものを求めてください。

制約

  • 1n501 \leq n \leq 50
  • i=1,...,ni = 1, ... , n に対して、 1Si501 \leq |S_i| \leq 50
  • i=1,...,ni = 1, ... , n に対して、 SiS_i は小文字のアルファベット( a - z )からなる文字列

入力

入力は以下の形式で標準入力から与えられる。

nn

S1S_1

......

SnS_n

出力

条件を満たす最長の文字列のうち、辞書順で最小のものを出力せよ。 そのような文字列が空文字列である場合は、空行を出力せよ。

3
cbaa
daacc
acacac
aac

cbaa, daacc, acacac のどの文字列からも aa, aac, aca, caa などが作れます。 そのうち最も長いものは aac, aca, caa です。 この中で辞書順で最小のものは aac なので、 aac が答えになります。

3
a
aa
b

条件を満たす文字列は空文字列のみです。