問題文
長さ N の整数列 A=(A1,A2,…,AN) があり、はじめ、すべての要素は 0 で初期化されています。
数直線上を移動する機械があり、整数 x を内部状態として持ちます。
はじめ、機械は座標 1 にあり、x=1 です。
整数列 A に対して以下のクエリを Q 回処理します。
i 番目のクエリでは、1 以上 N 以下の整数 Ti が与えられます。
機械の座標が Ti になるまで以下を順に繰り返します。
- 機械の現在の座標を p として、Ap に x を加算する。
- x に 1 を加算する。
- 機械が Ti に近づく方向に 1 進む。
厳密に言えば、p<Ti ならば機械は座標 p+1 に移動し、p>Ti ならば機械は座標 p−1 に移動する。
クエリの開始時点で機械の座標が既に Ti である場合、そのクエリでは何も行いません。また、機械の座標と x の値はクエリごとに初期化されず、次のクエリに引き継がれます。
すべてのクエリを処理した後の数列 A を求めてください。
制約
- 1≤N,Q≤2×105
- 1≤Ti≤N
- 入力は全て整数
入力
出力
全てのクエリを処理した後の整数列 A=(A1,A2,⋯,AN) を以下の形式で出力してください。
入力例1
出力例1
機械はクエリ i で次のように動きます。
- i=1 (T1=3) : 1→2→3
- i=2 (T2=2) : 3→2
- i=3 (T3=5) : 2→3→4→5
この移動によって x は次のように変化します。
- i=1 (T1=3) : 1→2→3
- i=2 (T2=2) : 3→4
- i=3 (T3=5) : 4→5→6→7
同様に、A は次のように変化します。
- i=1 (T1=3) : (0,0,0,0,0)→(1,0,0,0,0)→(1,2,0,0,0)
- i=2 (T2=2) : (1,2,0,0,0)→(1,2,3,0,0)
- i=3 (T3=5) : (1,2,3,0,0)→(1,6,3,0,0)→(1,6,8,0,0)→(1,6,8,6,0)
よって、最終的な結果である (1,6,8,6,0) を出力してください。
入力例2
出力例2
機械が移動しないことや、前のクエリと同じ向きに移動することもあることに注意してください。
入力例3
10 10
7
9
3
6
10
1
5
8
4
2
出力例3
32 64 123 138 138 138 138 100 53 22