#icpc2015summerday2k. [icpc2015summer_day2_k]Leapfrog

[icpc2015summer_day2_k]Leapfrog

Problem Statement

NN 個のマスが円状に並んでいる。マスは時計回りに 1,2,...,N1,\\ 2,\\ ...,\\ N と番号が振られている。各 ii (1leqileqN11\\leq i\\leq N-1) について、ii 番目のマスと i+1i+1 番目のマスは隣り合う。また、NN 番目のマスと 11 番目のマスは隣り合う。

これらのうち MM 個のマスには、互いに区別できない駒が 11 個ずつ置かれている。はじめ、x1,x2,...,xMx_1,\\ x_2,\\ ...,\\ x_M 番目のマスに駒が置かれている。次の操作を何回か行い、y1,y2,...,yMy_1,\\ y_2,\\ ...,\\ y_M 番目のマスに駒が置かれているようにしたい。

  • 時計回りまたは反時計回りに連続する 33 個のマスを選び、順に A,B,CA,\\ B,\\ C とおく。AABB にそれぞれ駒があり CC に駒がないならば、AA の駒を CC へ移動する。

y1,y2,...,yMy_1,\\ y_2,\\ ...,\\ y_M 番目のマスに駒が置かれているようにできるか判定せよ。できるならば、必要な操作の回数の最小値を求めよ。

Constraints

  • 3leqNleq3,0003\\leq N\\leq 3,000
  • 1leqMleqN1\\leq M\\leq N
  • 1leqx1<x2<...<xMleqN1\\leq x_1<x_2<...<x_M\\leq N
  • 1leqy1<y2<...<yMleqN1\\leq y_1<y_2<...<y_M\\leq N

Input Format

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

NN MM x1x_1 x2x_2 ...... xMx_M y1y_1 y2y_2 ...... yMy_M

Output Format

y1,y2,...,yMy_1,\\ y_2,\\ ...,\\ y_M 番目のマスに駒が置かれているようにできるならば、必要な操作の回数の最小値を一行に出力せよ。できないならば、代わりに -1 を一行に出力せよ。


Sample Input 1


7 2
1 2
5 6

Sample Output 1


3

次のように 33 回の操作を行えばよい。

  • 22 番目のマスの駒を 77 番目のマスへ移動する。
  • 11 番目のマスの駒を 66 番目のマスへ移動する。
  • 77 番目のマスの駒を 55 番目のマスへ移動する。

Sample Input 2


3 1
1
2

Sample Output 2


-1

Sample Input 3


2999 3
1 2 3
2 3 4

Sample Output 3


4491004