/*通俗地讲,next[i]保存了以s[i]为结尾的后缀与模式串前缀的最长匹配数。*/#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=10002;const int maxm=1000002;int t,n,m;int a[maxm],b[maxn],next[maxn];void NEXT(){ int i,j=0,key=0; memset(next,0,sizeof(next)); for(i=1;i<n;i++) { j=next[i-1]; while(j&&b[i]!=b[j]) j=next[j-1]; if(b[j]==b[i]) { next[i]=j+1; } else next[i]=0; } return;}int KMP(){ int i,j=0,key; for(i=0;i<m;i++) { while(j&&a[i]!=b[j]) j=next[j-1]; if(b[j]==a[i]) { j++; } else j=0; if(j==n)return i-n+2; } return -1;}int main(){ cin>>t; while(t--) { cin>>m>>n; int i,j; for(i=0;i<m;i++)scanf("%d",&a[i]); for(i=0;i<n;i++)scanf("%d",&b[i]); NEXT(); cout<<KMP()<<endl; } return 0;}