//
// Created by xingchaoyue on 2019/4/21.
//
//kmp
//输入一个母串和子串 问你子串第一次在母串中出现的位置 若未曾出现输出-1
#include<iostream>
#include<cstdio>
using namespace std;
int x[10000+100];
int y[1000000+100];
int knext[10000+1000];
void kmp_pre(int x[], int m,int knext[]){
int i,j;
j = knext[0] = -1;
i = 0;
while(i<m){
while(-1!=j&&x[i]!=x[j]) j = knext[j];//当j不等于-1且x[i]不等于匹配的x[j]时 下标不断向前跳跃
knext[++i]=++j;
}
}
int kmp_count(int x[], int m, int y[], int n){//x子串y母串 m为x长度n为y长度
int i,j;
int ans = -1;
kmp_pre(x,m,knext);
i = 0;//y下标
j = 0;//x下标
while(i<n){
while(-1!=j&&y[i]!=x[j]) j =knext[j];
i++;
j++;
if(j>=m){
ans = i-m+1;
break;
j = knext[j];
}
}
return ans;
}
void init(){
memset(knext,0,sizeof(knext));
}
int main(){
int t;
scanf("%d",&t);
while(t--){
init();
int n,m;
scanf("%d%d",&n,&m);
for(int i =0;i<n;++i){
scanf("%d",&y[i]);
}
for(int i =0;i<m;++i){
scanf("%d",&x[i]);
}
cout<<kmp_count(x,m,y,n)<<endl;
}
}