def floor_sum(n,m,a,b): r=0 x,y,z=0,0,0 while 1: if b>=m: x=b//m else: x=0 if a>=m: y=a//m else: y=0 r+=x*n b-=x*m r+=(y*n*(n-1))>>1 a-=y*m x=(a*n+b)//m if x==0: break y=b-x*m z=y//a r+=(n+z)*x a,b,n,m=m,y-z*a,x,a return r for t in range(int(input())): N,A,B=map(int,input().split()) M=N//A W=floor_sum(M+1,1,A,N-A*M) M=N//B W=W+floor_sum(M+1,1,B,N-B*M) V=N//A M=N//B W=W-floor_sum(M+1,A,B,N-B*M)+V-N*2 print(W)