N 個のマスが円状に並んでいる。マスは時計回りに 1,\ 2,\ ... ,\ N と番号が振られている。各 i (1 ≤ i ≤ N−1) について、i 番目のマスと i+1 番目のマスは隣り合う。また、N 番目のマスと 1 番目のマスは隣り合う。
これらのうち M 個のマスには、互いに区別できない駒が 1 個ずつ置かれている。はじめ、x_1,\ x_2,\ ... ,\ x_M 番目のマスに駒が置かれている。次の操作を何回か行い、y_1,\ y_2,\ ... ,\ y_M 番目のマスに駒が置かれているようにしたい。
y_1,\ y_2,\ ... ,\ y_M 番目のマスに駒が置かれているようにできるか判定せよ。できるならば、必要な操作の回数の最小値を求めよ。
入力は以下の形式で標準入力から与えられる。
N M x_1 x_2 ... x_M y_1 y_2 ... y_M
y_1,\ y_2,\ ... ,\ y_M 番目のマスに駒が置かれているようにできるならば、必要な操作の回数の最小値を一行に出力せよ。できないならば、代わりに -1
を一行に出力せよ。
7 2 1 2 5 6
3
次のように 3 回の操作を行えばよい。
3 1 1 2
-1
2999 3 1 2 3 2 3 4
4491004