#include <iostream>
#include<stdlib.h>

using namespace std;

int main ()
{
    int t, n, m, NZD=100000;
    cin>>t;
    int niz[t];
    for(int k=0; k<t; k++)
    {
        cin>>n>>m;
        int A[n], B[m];
        for(int i=0; i<n; i++)
        {
            cin>>A[i];
        }
        for(int j=0; j<n; j++)
        {
            cin>>B[j];
        }
        for(int i=0; i<n-2; i++)
        {
            if(((A[i]-A[i+1])%(A[i+1]-A[i+2])!=0) && ((A[i+1]-A[i+2])%(A[i]-A[i+1])!=0))
            {
                niz[k]=0;
            }
            else
            {
                int x, y, z, q;
                x=A[i]-A[i+1];
                y=A[i+1]-A[i+2];
                while(y!=0)
                {
                    z=x;
                    x=y;
                    y=z%y;
                }
                while(x!=0)
                {
                    q=NZD;
                    NZD=x;
                    x=q%x;
                }
                NZD=NZD;
                    for(int j=0; j<n; j++)
                    {
                        if((B[j]%NZD)==(A[0]%NZD))
                        {
                            niz[k]=0;
                        }
                        else
                        {
                            niz[k]=1;
                        }
                    }
            }
        }
    
    }
    for(int k=0; k<t; k++)
    {
        cout<<niz[k]<<endl;
    }
    return 0;
}