#include<iostream>
#include<vector>
#include<map>
#include<stdlib.h>
#include<algorithm>
#include<string>
#include<string.h>
#include<stdio.h>
using namespace std;
int num;
int next_[10010];
int text[1000010], pt[10010];
int n1, n2;
void get_next(){
int i = 0;
next_[0] = 0;
for(int j=1; j<n2; j++){
while(i>0 && pt[i]!=pt[j]){
i = next_[i-1];
}
if(pt[i]==pt[j]){
i++;
next_[j] = i;
}
}
}
int KMP(){
get_next();
int i=0, j=0;
while(i<n1 && j<n2){
if(j==0 && text[i]!=pt[j])
i++;
else if(text[i]!=pt[j])
j = next_[j-1];
else if(text[i]==pt[j]){
i++;
j++;
}
}
if(j==n2){
return i-j+1;
}else{
return -1;
}
}
int main()
{
cin>>n1>>n2;
for(int i=0; i<n1; i++){
cin>>text[i];
}
for(int i=0; i<n2; i++){
cin>>pt[i];
}
int ans = KMP();
cout<<ans<<endl;
return 0;
}