P26211 [AtCoder] Dial Up
普及-
题目描述

Problem Statement

Snuke has a sequence of $N integers a=(a_1,a_2,\cdots,a_N)$ consisting of 0s and 1s, and an empty integer sequence b.
The initial state a_i=S_i is given to you as input.
Snuke can do the following three operations any number of times in any order.

  • Shift a to the right. In other words, replace a with $(a_N,a_1,a_2,\cdots,a_{N-1})$.

  • Shift a to the left. In other words, replace a with $(a_2,a_3,\cdots,a_N,a_1)$.

  • Append the current value of a_1 at the end of b.

You are also given a sequence of $M integers T=(T_1,T_2,\cdots,T_M)$.
Determine whether it is possible to make b equal to T. If it is possible, find the minimum number of operations needed to do so.

Input

Input is given from Standard Input in the following format:
N M
$S_1 S_2 \cdots S_N$
$T_1 T_2 \cdots T_M$

Output

If it is impossible to make b equal to T, print -1.
If it is possible, print the minimum number of operations needed to do so.

Constraints

  • $1 \leq N \leq 2 \times 10^5$
  • $1 \leq M \leq 2 \times 10^5$
  • $0 \leq S_i \leq 1$
  • $0 \leq T_i \leq 1$
  • All values in input are integers.

Sample Input 1

3 4
0 0 1
0 1 1 0

Sample Output 1

6

The following sequence of six operations will do the job.

  • Append the current value of a_1 at the end of b, making b=(0).

  • Shift a to the right, making a=(1,0,0).

  • Append the current value of a_1 at the end of b, making b=(0,1).

  • Append the current value of a_1 at the end of b, making b=(0,1,1).

  • Shift a to the right, making a=(0,1,0).

  • Append the current value of a_1 at the end of b, making b=(0,1,1,0).

Sample Input 2

1 1
0
1

Sample Output 2

-1

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 4 0 0 1 0 1 1 0
样例输出
6