004 - 最小のMAW

時間制限 1 秒 / メモリ制限 256 MB / 得点 5 / x 1 /


TLE
1sec
MLE
256MB
得点
5

問題文

文字列 $S$ の連続部分文字列とは、$S$ の先頭と末尾からそれぞれ長さ$0$以上の連続した文字列を削除したもののことです(ただし、$S$ の文字をすべて削除したものは除きます)。たとえば、文字列 $abc$ の連続部分文字列は、$a,\ ab,\ abc,\ b,\ bc,\ c$ の$6$個です。

  • $T$ の長さは$2$以上。
  • $T$ は $S$ の連続部分文字列ではない。
  • $T$ の連続部分文字列で $T$ でないものはすべて、$S$ の連続部分文字列である。
文字列 $S$ と $T$ があるとき、$T$ が以下の条件を満たすなら、$T$ は $S$ の最小欠失語(minimal absent word, これ以降は $MAW$ と書く)といいます。
たとえば、文字列 $S$ が $aabb$ のとき、$S$ の $MAW$ は文字列 $aaa, ba, bbb$ です。

課題

文字列が与えられる。その文字列の $MAW$ で、辞書式順序(英和辞書で単語が並んでいる順番)で最小の文字列を求めるプログラムを作成せよ。

入力

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

$N$
$str$

$1$行目に文字列の長さ$N \ (3 \leq N \leq 400,000)$ が与えられる。$2$行目に英小文字からなる長さ $N$ の文字列が与えられる。

出力

辞書式順序で最小のMAWを$1$行に出力する。

入出力例

入力例1

4
aabb

出力例1

aaa

入力例2

4
tree

出力例2

eee