I=input def r(X,A): return(X+A-1)//A*A for t in range(int(I())): X,A,B=map(int,I().split()) if A>B:A,B=B,A Y=r(X,B) Z=r(Y,A) L=len({X,r(X,A),Y,Z}) a,b=A,B while a:a,b=b%a,a A//=b B//=b print([L,[(L-1+2*(r(Z//b,A*B)-r(Z//b,B)+B)//B)%998244353,1][X%B<1]][A>1])