#arc073d. [arc073_d]Many Moves

[arc073_d]Many Moves

問題文

NN 個のマスが一列に並んでいます。マスには順に 1,2,...,N1, 2, ..., N と番号を振ってあるものとします。

あなたはコマを 22 つ持っており、最初の時点ではマス AA, BB においてあります。

以下のクエリがQQ 個与えられるので、順番に処理します。

  • xix_i が与えられる。22 つのコマのどちらかをマス xix_i に移動させる。どちらを移動させるかは好きに選んで良い。

ただし、コマは 11 マス分動くのに 11 秒の時間を必要とします。 つまり、マス XX のコマをマス YY に動かすには XY|X-Y| 秒必要です。

あなたの目的は、出来る限り速く全てのクエリを処理することです。

なお、クエリ以外でのコマの移動は許されません。 また、クエリの順番を並び替えたり、コマを 22 個同時に動かしたりすることも許されません。 ただし、22 個のコマが同時に同じマスにいることは許されます。

制約

  • 1N,Q200,0001 ≦ N, Q ≦ 200,000
  • 1A,BN1 ≦ A, B ≦ N
  • 1xiN1 ≦ x_i ≦ N

入力

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

NN QQ AA BB x1x_1 x2x_2 ... xQx_Q

出力

全てのクエリを処理するのにかかる最小の時間を XX 秒として、XX を出力する。


入力例 1

8 3 1 8
3 5 1

出力例 1

7
  • マス 11 のコマをマス 33 に動かす
  • マス 88 のコマをマス 55 に動かす
  • マス 33 のコマをマス 11 に動かす

この通りにコマを動かすと 77 秒で全てのクエリを処理できます。


入力例 2

9 2 1 9
5 1

出力例 2

4

最初に動かすべきはマス 99 のコマです。


入力例 3

9 2 1 9
5 9

出力例 3

4

最初に動かすべきはマス 11 のコマです。


入力例 4

11 16 8 1
1 1 5 1 11 4 5 2 5 3 3 3 5 5 6 7

出力例 4

21