#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 100001 , M = 1<<6 ;
int bit[M] , cnt[M] , lst[M];
int n , a , b ;
ll lcm[M] , ans;
vector<int>fct[N];
int main(){
for(int i=2;i+i<N;i++)
if( fct[i].empty() )
for(int j=i+i;j<N;j+=i)
fct[j].push_back(i);
for(int i=0;i<6;i++)
bit[1<<i]=i;
for(int i=1;i<M;i++){
lst[i]=(i&-i);
cnt[i]=1+cnt[i-lst[i]];
}
int t;
scanf("%d",&t);
while( t-- ){
scanf("%d %d %d",&n,&a,&b);
if( a==0 ){
printf("1\n");
continue;
}
ans=2;
int c=0;
for(int d=2;d<=n;d++){
while( c+1<d && b*(c+1)<a*d )c++;
int sz = 1<<( (int)fct[d].size() );
int all = c;
lcm[0]=1;
for(int k=1;k<sz;k++){
lcm[k] = lcm[ k - lst[k] ]*fct[d][ bit[ lst[k] ] ];
if( cnt[k]&1 )
all-= 1ll*c/lcm[k];
else
all+= 1ll*c/lcm[k];
}
ans+=all;
}
printf("%lld\n",ans);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTiA9IDEwMDAwMSAsIE0gPSAxPDw2IDsKaW50IGJpdFtNXSAsIGNudFtNXSAsIGxzdFtNXTsKaW50IG4gLCBhICwgYiA7CmxsIGxjbVtNXSAsIGFuczsKdmVjdG9yPGludD5mY3RbTl07CgppbnQgbWFpbigpewoKZm9yKGludCBpPTI7aStpPE47aSsrKQogICAgaWYoIGZjdFtpXS5lbXB0eSgpICkKICAgICAgICBmb3IoaW50IGo9aStpO2o8TjtqKz1pKQogICAgICAgICAgICBmY3Rbal0ucHVzaF9iYWNrKGkpOwoKZm9yKGludCBpPTA7aTw2O2krKykKICAgIGJpdFsxPDxpXT1pOwpmb3IoaW50IGk9MTtpPE07aSsrKXsKICAgIGxzdFtpXT0oaSYtaSk7CiAgICBjbnRbaV09MStjbnRbaS1sc3RbaV1dOwogICAgfQoKaW50IHQ7CnNjYW5mKCIlZCIsJnQpOwp3aGlsZSggdC0tICl7CiAgICAgICAgc2NhbmYoIiVkICVkICVkIiwmbiwmYSwmYik7CiAgICAgICAgaWYoIGE9PTAgKXsKICAgICAgICAgICAgcHJpbnRmKCIxXG4iKTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGFucz0yOwogICAgICAgIGludCBjPTA7CiAgICAgICAgZm9yKGludCBkPTI7ZDw9bjtkKyspewogICAgICAgICAgICB3aGlsZSggYysxPGQgJiYgYiooYysxKTxhKmQgKWMrKzsKICAgICAgICAgICAgaW50IHN6ID0gMTw8KCAoaW50KWZjdFtkXS5zaXplKCkgKTsKICAgICAgICAgICAgaW50IGFsbCA9IGM7CiAgICAgICAgICAgIGxjbVswXT0xOwogICAgICAgICAgICBmb3IoaW50IGs9MTtrPHN6O2srKyl7CiAgICAgICAgICAgICAgICAgICAgbGNtW2tdID0gbGNtWyBrIC0gbHN0W2tdIF0qZmN0W2RdWyBiaXRbIGxzdFtrXSBdIF07CiAgICAgICAgICAgICAgICAgICAgaWYoIGNudFtrXSYxICkKICAgICAgICAgICAgICAgICAgICAgICAgYWxsLT0gMWxsKmMvbGNtW2tdOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgYWxsKz0gMWxsKmMvbGNtW2tdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFucys9YWxsOwogICAgICAgIH0KICAgICAgICBwcmludGYoIiVsbGRcbiIsYW5zKTsKfQpyZXR1cm4gMDsKfQoK