#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t;
    scanf("%d",&t);
    bool postoji[t];
    for(int i=0;i<t;++i){

        int n,m;
        scanf("%d%d",&n,&m);
        vector<int> prih;

        for(int j=0;j<n;++j){
            int x;
            scanf("%d",&x);
            prih.push_back(x);
        }

        int neprih[m];
        for(int j=0;j<m;++j){
            scanf("%d",&neprih[j]);
        }

        int del = -1;
        sort(prih.begin(),prih.end());
        if(n==2){
            del=prih.at(1)-prih.at(0);
        }
        else{

            bool koji=false;
            for(int j=2;j<prih.at(1) && !koji;j++){
                koji = true;
                for(int z=0;z<n;z++){
                    if(prih.at(0)%j != prih.at(z)%j){
                        koji = false;
                    }
                }
                if(koji /*&& del<j*/){
                    del = j;
                    //koji = false;
                }
            }
        }

            postoji[i]=true;
            if(del != -1){
                for(int z=0;z<n && postoji[i];++z){
                    if(neprih[z]%del == prih.at(1)%del){
                        postoji[i]=false;
                    }
                }
            }
            else{
                postoji[i]=false;
            }

    }

    for(int i=0;i<t;i++){
        if(postoji[i])
            printf("1\n");
        else
            printf("0\n");
    }
    return 0;
}