#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>

using namespace std;
const int MAXSIZE = 1000000;


int m;
int n;
int a[MAXSIZE];
int b[MAXSIZE];//我不太知道数组怎么在函数里传递

int next(int k)
{
    int i=1;
    int j=2;
    int n=0;
    while(j<k)
    {
        if(b[i]==b[j])
        {
            ++n;
            ++i;
            ++j;

        }
        else
        {
            ++j;
            i=1;
            n=0;

        }
    }
    if(k==1){//这个强制定义的也一定要加上,一定不能落条件
        return 0;
    }else{
        return n+1;
    }

}

int main()
{
//     int next[6]= {-1,0,1,1,0,2};//next和nextal
    int fre;
//     int m;
//     int n;
//     char ge;
    scanf("%d",&fre);
//     scanf("%c",&ge);
    for(int i=0; i<fre; ++i)
    {
        scanf("%d %d",&m,&n);
        memset(a, 0, m);
        memset(b, 0, n);

//         int a[m+1];
//         int b[n+1];

        for(int j=1; j<=m; ++j)
        {
            scanf("%d",&a[j]);
        }
        for(int k=1; k<=n; ++k)
        {
            scanf("%d",&b[k]);
        }
        int j=1;
        int k=1;

        while(j<=m&&k<=n)//这个用while,不用for
        {
            if(a[j]==b[k])//相等就一次往后加
            {
                ++j;
                ++k;
            }
            else//不相等,让k跳到数组哪里,j先不动
            {
                k=next(k);
//                 k=next[k];
                if(k==0)//如果在模式串第一个字母就不对,那么两个都往后+1,这个时候,k=0,正好+1,变成了1
                {
                    ++j;
                    ++k;
                }
            }
        }
//         for(int i=1;i<=n;++i){
//             printf("%d ",next(b,i));
//         }
//         printf("\n");
        //成功出来之后,k=n+1,并且a[j-1]==b[k-1]
        if(k==n+1&&a[j-1]==b[k-1]) //你就要想好,匹配上的条件是什么!
        {
            printf("%d\n",j-n);//这种最难确定了,一会再改
        }
        else
        {
//             printf("%d\n",j);
//             printf("%d\n",n);
            printf("-1\n");
        }
//          for(int j=0;j<m;++j){
//             for(int k=0;k<n;++k){
//             }
//         }
//         for(int k=0;k<n;++k){
//             printf("%d ",b[k]);
//         }
    }
}