#include <iostream>
using namespace std;
long long najmd (long long a)
{
    if (a%2==0)
        return 2;
    for (long long i=3;i*a<=a*a;i+=2)
        if (a%i==0)
            return i;
}
int main ()
{
    cout<<"1";
    int t,n[5],m[5],i,res[5];
    for (i=0;i<5;i++)
        res[i]=0;
    long long a[5][75001],b[5][75001],kandidati[5][275];
    cin>>t;
    for (i=0;i<t;i++)
    {
        cin>>n[i],m[i];
        for (int j=0;j<n[i];j++)
            cin>>a[i][j];
        for (int j=0;j<m[i];j++)
            cin>>b[i][j];
    }
    long long mini;
    for (int p=0;p<t;p++)
    {
        bool uslov=true;
        for (i=1;i<n[p];i++)
            if (a[p][i]<mini)
                mini=a[p][i];
        for (i=0;i<n[p];i++)
        {
            if (a[p][i]%mini!=0)
            {
                mini=1;
                break;
            }
        }
        long long pom;
        while (mini != 1)
        {
            pom = najmd(mini);
            mini/=pom;
            pom=mini;
            for (i=0;i<m[p];i++)
            {
                if (b[p][i]%pom==0)
                {
                    uslov = false;
                    break;
                }
            }
            if (uslov)
                res[p]++;
            uslov=true;

        }
    }
    for (i=0;i<5;i++)
        cout<<res[i]<<endl;
    return 0;
}