AT_abc250_c [ABC250C] Adjacent Swaps
Description
[problemUrl]: https://atcoder.jp/contests/abc250/tasks/abc250_c
$ N $ 個のボールが左右一列に並んでいます。初め、左から $ i\ \,\ (1\ \leq\ i\ \leq\ N) $ 番目のボールには整数 $ i $ が書かれています。
高橋君は $ Q $ 回の操作を行いました。 $ i\ \,\ (1\ \leq\ i\ \leq\ Q) $ 回目に行われた操作は次のようなものです。
- 整数 $ x_i $ が書かれているボールをその右隣のボールと入れ替える。ただし、整数 $ x_i $ が書かれているボールが元々右端にあった場合、代わりに左隣のボールと入れ替える。
操作後において左から $ i\ \,\ (1\ \leq\ i\ \leq\ N) $ 番目のボールに書かれている整数を $ a_i $ とします。 $ a_1,\ldots,a_N $ を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ Q $ $ x_1 $ $ \vdots $ $ x_Q $
Output Format
$ a_1,\ldots,a_N $ を空白区切りで出力せよ。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ x_i\ \leq\ N $
- 入力は全て整数
### Sample Explanation 1
操作は以下のように行われます。 - $ 1 $ と書かれたボールを右隣のボールと入れ替える。ボールに書かれた整数は左から $ 2,1,3,4,5 $ となる。 - $ 2 $ と書かれたボールを右隣のボールと入れ替える。ボールに書かれた整数は左から $ 1,2,3,4,5 $ となる。 - $ 3 $ と書かれたボールを右隣のボールと入れ替える。ボールに書かれた整数は左から $ 1,2,4,3,5 $ となる。 - $ 4 $ と書かれたボールを右隣のボールと入れ替える。ボールに書かれた整数は左から $ 1,2,3,4,5 $ となる。 - $ 5 $ と書かれたボールは右端にあるので左隣のボールと入れ替える。ボールに書かれた整数は左から $ 1,2,3,5,4 $ となる。