#include <iostream>
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int T,N,M;
    vector<int> prihvacene;
    vector<int> odbijene;
    int elem;
    vector<int> rezultati;
    int X;
    bool vazi=true;
    cin>>T;
    for(int i=0;i<T;i++)
    {
        cin>>N;
        cin>>M;
        for(int i=0; i<N;i++)
        {
            cin>>elem;
            prihvacene.push_back(elem);
        }
        sort(prihvacene.begin(),prihvacene.end());
        for(int i=0;i<M;i++)
        {
            cin>>elem;
            odbijene.push_back(elem);
        }
        sort(odbijene.begin(),odbijene.end());
        int X=prihvacene[1]-prihvacene[0];
        for(int i=1; i<N-1; i++)
        {
            if((prihvacene[i+1]-prihvacene[i])%X!=0)
               {
                   vazi=false;
                   break;
               }
        }
        if(vazi)
        {
            for(int i=0; i<M; i++)
            {
                if((odbijene[i]-prihvacene[0])%X!=0)
                {
                   vazi=false;
                   break;
                }
            }
        }
        if(!vazi)
            rezultati.push_back(0);
        else
            rezultati.push_back(1);
    }
    for(int i=0; i<T; i++)
        cout<<rezultati[i]<<endl;
    return 0;
}