#include <iostream>usingnamespacestd;
constint n = 1000010;
constint m = 10010;
int a[n], b[m];
int _next[m];
void get_next(int m)
{
int i = 0, j;
_next[0] = j = -1;
while (i < m - 1) {
if (j == -1 || b[j] == b[i]) {
i++;
j++;
_next[i] = j;
} else {
j = _next[j];
}
}
}
int get_idx(int n, int m)
{
int i = 0, j = 0;
while (i < n && j < m) {
if (j == -1 || a[i] == b[j]) {
i++;
j++;
} else {
j = _next[j];
}
if (j == m) {
return i - j + 1;
}
}
return -1;
}
int main()
{
ios::sync_with_stdio(false);
int t;
cin >> t;
while (t--) {
int n, m;
cin >> n >> m;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < m; ++i) {
cin >> b[i];
}
get_next(m);
int ans = get_idx(n, m);
cout << ans << endl;
}
return0;
}