Problem6773--HDU1711 - Number Sequence

6773: HDU1711 - Number Sequence

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M] $(1 \leq M \leq 10,000,\ 1 \leq N \leq 1,000,000)$. 
Your task is to find a number K which make a[K] = b[1], a[K + 1] = b[2], ...... , a[K + M - 1] = b[M]. 
If there are more than one $K$ exist, output the smallest one.

Input

The first line of input is a number $T$ which indicate the number of cases. 
Each case contains three lines. 
The first line is two numbers $N, M$. 
The second line contains $N$ integers which indicate a[1], a[2], ...... , a[N]. 
The third line contains $M$ integers which indicate b[1], b[2], ...... , b[M]. 
All integers are in the range of $[-1,000,000, 1,000,000]$.

Output

For each test case, you should output one line which only contain $K$ described above. If no such $K$ exists, output $-1$ instead.

Sample 1 Input

2
13 5
1 2 1 2 3 1 2 3 1 3 2 1 2
1 2 3 1 3
13 5
1 2 1 2 3 1 2 3 1 3 2 1 2
1 2 3 2 1

Sample 1 Output

6
-1

HINT

题目来源:HDU1711

Source/Category

字符串哈希