#include <iostream>
#include <algorithm>
using namespace std ;
int main()
{
    int t;
    cin >> t;
    long long q[t];
    for(int i=0;i<t;i++){
        q[i]=1;
        long long n,m;
        cin>>n>>m;
        long long niz1[n];long long niz2[m];
        for(int j=0;j<n;j++){
            cin >>niz1[j];
        }
        for(int j=0;j<m;j++){
            cin >>niz2[j];
        }
        sort(niz1,niz1+n); sort(niz2,niz2+m);
        long long minn=niz1[1] - niz1[0];
        for (int j=0;j<n-1;j++){
            long long a= niz1[j+1] - niz1[j];
            if (minn>a){
                if( minn%a!=0){
                    q[i]=0;
                    break;
                }
                minn=a;
            }
            else{
                    if( a%minn!=0){
                    q[i]=0;
                    break;
                }

            }

        }
        if (q[i]!=0){

            for ( int j=0; j<m; j++){
                if((niz2[j]-niz1[0])%minn==0){
                    q[i]=0;
                    break;
                }
            }
        }

    }
    for(int i=0;i<t;i++){
        cout<<q[i]<<endl;
    }
    return 0;
}