E - 10進数の数列 Editorial /

Time Limit: 2 sec / Memory Limit: 291 MB

問題文

花子はある数列を眺めています。

その数列に以下の操作を行います。

  1. 隣り合っていない 要素をいくつか選ぶ
  2. 数列に現れる順番を変えずに選んだ数を並べる
  3. それを十進法の数として読む

花子は、このような操作をして作ることのできない最小の正の整数がいくらなのか気になりました。

例えば、「3 0 1」という数列が与えられたとします。 花子の作ることのできる正の整数は、1,3,31です。

この場合、

  • 1は作れますが、2は数列に一つもないので作ることができません。
  • 13」などの数字が現れる順番を無視したような正の整数は作れません。
  • 30」や「301」のように、隣り合った数字を用いて作ることはできません。

花子のために、作ることのできない最小の正の整数を求めてください。


入力

n
d_1 d_2 d_3 ... d_n
  • 1行目に数列の長さ n (1 \leq n \leq 10000)が与えられます。
  • 2行目には、数列(d_1 d_2 ... d_n)が空白区切りで与えられます。d_i (i = 1 , ... , n ) は、0以上9以下の数字です。

出力

花子が作ることのできない最小の正の整数を出力してください。 なお、先頭に余計な0を出力しないよう注意してください。 出力の末尾には改行を入れること。


入力例1

3
3 0 1

出力例1

2

入力例2

12
1 2 1 2 3 4 5 6 7 8 9 0

出力例2

21

入力例3

20
1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0

出力例3

100