問題文
すぬけくんは,0 と 1 からなる長さ N の整数列 a=(a1,a2,cdots,aN) と,空の整数列 b を持っています. a の初期状態は入力で与えられ,ai=Si です.
すぬけくんは,以下の 3 種類の操作を好きな順番で好きな回数行えます.
-
a を右シフトする.つまり,a を (aN,a1,a2,cdots,aN−1) で置き換える.
-
a を左シフトする.つまり,a を (a2,a3,cdots,aN,a1) で置き換える.
-
b の末尾に現在の a1 の値を追加する.
長さ M の整数列 T=(T1,T2,cdots,TM) が与えられます. b を T に一致させることができるか判定し,可能な場合は必要な操作回数の最小値を求めてください.
制約
- 1leqNleq2times105
- 1leqMleq2times105
- 0leqSileq1
- 0leqTileq1
- 入力される値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる.
N M
S1 S2 cdots SN
T1 T2 cdots TM
出力
b を T に一致させることが不可能な場合,-1
を出力せよ. 可能な場合は,必要な操作回数の最小値を出力せよ.
入力例 1
3 4
0 0 1
0 1 1 0
出力例 1
6
以下のように 6 回操作すればよいです.
-
b の末尾に現在の a1 の値を追加する.b=(0) となる.
-
a を右シフトする.a=(1,0,0) となる.
-
b の末尾に現在の a1 の値を追加する.b=(0,1) となる.
-
b の末尾に現在の a1 の値を追加する.b=(0,1,1) となる.
-
a を右シフトする.a=(0,1,0) となる.
-
b の末尾に現在の a1 の値を追加する.b=(0,1,1,0) となる.
入力例 2
1 1
0
1
出力例 2
-1