AT_arc130_e [ARC130E] Increasing Minimum

Description

[problemUrl]: https://atcoder.jp/contests/arc130/tasks/arc130_e $ N $ 項からなる正整数列 $ A\ =\ (A_1,\ A_2,\ \ldots,\ A_N) $ に対して、次の操作を行い、数列 $ I\ =\ (i_1,\ i_2,\ \ldots,\ i_K) $ を得ることを考えます。 - $ k\ =\ 1,\ 2,\ \ldots,\ K $ の順に、次を行う。 - $ A_i\ =\ \min\{A_1,\ A_2,\ \ldots,\ A_N\} $ となる $ i $ をひとつ選ぶ。 - $ i_k\ =\ i $ と定める。 - $ A_i $ に $ 1 $ を加える。 整数 $ N,\ K $ と数列 $ I $ が与えられます。 操作の結果として $ I $ を得ることが可能であるような正整数列 $ A $ が存在するかを判定してください。存在する場合には、そのようなもののうち辞書順最小のものを答えてください。

Input Format

入力は以下の形式で標準入力から与えられます。 > $ N $ $ K $ $ i_1 $ $ i_2 $ $ \ldots $ $ i_K $

Output Format

操作の結果として $ I $ を得ることが可能であるような正整数列 $ A $ が存在しない場合、`-1` と出力してください。 存在する場合、そのような正整数列 $ A $ のうち、辞書順最小のものを、空白で区切って $ 1 $ 行で出力してください。

Explanation/Hint

### 制約 - $ 1\leq\ N,\ K\leq\ 3\times\ 10^5 $ - $ 1\leq\ i_k\leq\ N $ ### Sample Explanation 1 操作の結果として $ I\ =\ (1,1,4,4,2,1) $ を得ることが可能な正整数列 $ A $ としては、$ (1,\ 3,\ 3,\ 2) $, $ (2,\ 4,\ 5,\ 3) $ などがあります。そのうち辞書順最小のものは $ (1,\ 3,\ 3,\ 2) $ です。