#codefestival2018finald. [code_festival_2018_final_d]Three Letters

[code_festival_2018_final_d]Three Letters

問題文

英大文字および英小文字によって構成される NN 個の文字列 A1,A2,...,ANA_1,A_2,...,A_N があります。

文字列の 略称 を以下のように定義します。

  • 文字列 SS があるとき、1leqi<j<kleqS1 \\leq i < j < k \\leq |S| を満たす任意の i,j,ki,j,k に対し、SiSjSkS_i S_j S_kSS の略称となる。

33 文字からなる文字列のうち、A1,A2,...,ANA_1,A_2,...,A_N のうち最も多くの文字列の略称となるものを求めてください。

ただし、複数ある場合は、辞書順で最初のものを求めてください。

なお、辞書順において、文字の種類にかかわらず英大文字は英小文字より必ず先になるとします。

制約

  • 1leqNleq300001 \\leq N \\leq 30000
  • 3leqAi3 \\leq |A_i|
  • A1+A2+...+ANleq90000|A_1|+|A_2|+...+|A_N| \\leq 90000
  • AiA_i は英大文字および英小文字からなる

入力

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

NN A1A_1 :: ANA_N

出力

33 文字からなる文字列のうち、A1,A2,...,ANA_1,A_2,...,A_N のうち最も多くの文字列の略称となるものを求めよ。

ただし、複数ある場合は、辞書順で最初のものを求めよ。


入力例 1

4
aKIHaBaRa
aKIBa
aSaKUSa
SHINKIBA

出力例 1

KIB

33 つの文字列の略称となるものは KIB,aKa ですが、これらのうち辞書順で最初の KIB を出力するとよいです。

辞書順において、英大文字は英小文字より必ず先になるので、Ka より先になることに注意してください。


入力例 2

3
abc
def
ghi

出力例 2

abc