#include<iostream>
#include <algorithm>
using namespace std;
int vracara(int n,int a[75000],int m,int b[75000]){
    sort(a,a+n);
    sort(b,b+m);
    int p=a[1]-a[0],x,y,i;
    if(n>2){
        for(i=2;i<n;i++){
            x=p;
            p=a[i]-a[i-1];
            if((p%x)%2==1)
                return 0;
        }
    }
    x=p;
    p=b[1]-b[0];
    if(m>2){
        for(i=2;i<m;i++){
            y=p;
            p=b[i]-b[i-1];
            if((p%y)%2==1)
                return 0;
        }
    }
    y=p;
    if(x>y){
        if((x-y)%2==1)
            return 0;
    }else{
        if((y-x)%2==1)
            return 0;
    }
    return 1;
}
int main(){
    int t,i,n,m,a[75000],b[75000],r[6];
    cin>>t;
    for(i=0;i<t;i++){
        int p;
        cin>>n>>m;
        for(p=0;p<n;p++)
            cin>>a[p];
        for(p=0;p<m;p++)
            cin>>b[p];
        r[i]=vracara(n,a,m,b);
    }
    for(i=0;i<t;i++)
        cout<<r[i]<<endl;
    return 0;
}