#arc125c. [arc125_c]LIS to Original Sequence

[arc125_c]LIS to Original Sequence

問題文

整数 NN と,長さ KK の単調増加な整数列 A=(A1,A2,cdots,AK)A=(A_1,A_2,\\cdots,A_K) が与えられます. 次の条件を満たす (1,2,cdots,N)(1,2,\\cdots,N) の順列 PP の中で,辞書順最小のものを求めてください.

  • AAPP の最長増加部分列(単調増加な部分列であって,長さが最大のもの)である. なお,PP は複数の最長増加部分列を持つことがあるが,そのうちの一つが AA に一致していればよい.

なお,問題の制約から,条件を満たす PP が必ず存在することが証明できます.

制約

  • 1leqKleqNleq2times1051 \\leq K \\leq N \\leq 2 \\times 10^5
  • 1leqA1<A2<cdots<AKleqN1 \\leq A_1 < A_2 < \\cdots < A_K \\leq N
  • 入力される値はすべて整数である

入力

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

NN KK A1A_1 A2A_2 cdots\\cdots AKA_K

出力

答えを出力せよ.


入力例 1

3 2
2 3

出力例 1

2 1 3

PP の最長増加部分列が AA に一致するのは,P=(2,1,3),(2,3,1)P=(2,1,3),(2,3,1) のときです. このうち,辞書順最小の (2,1,3)(2,1,3) が答えになります.


入力例 2

5 1
4

出力例 2

5 4 3 2 1