int a[1000009],b[10009]; int n,m,Next[10009]; int pos;
void cover() { int i , j = 0; Next[0] = Next[1] = 0; for (int i = 1; i < m ; i ++) { while (j&&b[i]!=b[j]) j = Next[j]; if (b[i]==b[j]) ++j; Next[i+1] = j; } return ; }
int kmp() { int j = 0; for (int i = 0 ; i < n ; i ++) { while (j&&a[i]!=b[j]) j = Next[j]; if (a[i]==b[j]){ if (j==m-1) return i - j + 1; ++j; } } return -1; }
int main(){ int T; scanf("%d",&T); while (T--) { scanf("%d%d",&n,&m); for (int i = 0 ; i < n ; i ++) scanf("%d",&a[i]); for (int i = 0 ; i < m ; i ++) scanf("%d",&b[i]); cover(); printf("%d\n",kmp()); } }