#include<bits/stdc++.h>

using namespace std;

#define NN 20000001

int nsd[NN]={0};

int i_NSD()
{
    for(int i=2; i<NN; i++)
    {
        if(!nsd[i])
        {
            for(int j=i; j<NN; j+=i)
            {
                nsd[j]++;
            }
        }
    }
    return(0);
}

int gcd(int aa, int bb)
{
    if (bb == 0)
        return aa;
    return gcd(bb, aa % bb);
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t;
    cin>>t;
    int q=i_NSD();
    while(t--)
    {
        int c,d,x;
        cin>>c>>d>>x;
        int g=gcd(c,d);
        if(x%g!=0)
        {
            cout<<0<<endl;
            continue;
        }
        x/=g;
        c/=g;
        d/=g;
        long long ans=0;
        int i;
        for(i=1;i*i<x;i++)
        {
            if(x%i==0)
            {
                if((i+d)%c==0)
                {
                    ans+=((1<<nsd[(i+d)/c]));
                }
                if(((x/i)+d)%c==0)
                {
                    ans+=((1<<nsd[((x/i)+d)/c]));
                }
            }
        }
        if(i*i==x && (i+d)%c==0)
        {
            ans+=((1<<nsd[(i+d)/c]));
        }
        cout<<ans<<endl;
    }
    return 0;
}

