#include<stdio.h> int a[1000005], b[10005]; int fail[10005]; int n, m, T; void getfail() { fail[0] = -1; int i, j; for(i = 1, j = -1; i < m; i ++) { while(j >= 0 && b[j + 1] != b[i]) { j = fail[j]; } if(b[j + 1] == b[i]) j ++; fail[i] = j; } return ; } int kmp() { getfail(); int i, j; for(i = 0, j = 0; i < n;i ++) { while(j && b[j] != a[i]) { j = fail[j - 1] + 1; } if(b[j] == a[i]) j ++; if(j == m) return i - m + 2; } return -1; } int main(int argc, char const *argv[]) { scanf("%d", &T); int i, j; while(T--) { scanf("%d%d", &n, &m); for(i = 0; i < n; i ++) scanf("%d", &a[i]); for(i = 0; i < m; i ++) scanf("%d", &b[i]); getfail(); printf("%d\n", kmp()); } return 0; }