def gcd(a,b): if b==0: return a return gcd(b,a%b) T = int(input()) for _ in range(T): D,x,y = map(int,input().split()) if y==0: print(x*D) elif x==0: print(y*D) else: d = gcd(x,y) n = y//d m = x//d k1 = min(x//n,(D-y)//m) k2 = min((D-x)//n,y//m) k = max(k1,k2) S2 = (x**2+y**2)*(n**2+m**2)*k**2 high = S2 low = 0 while high-low>1: mid = (high+low)//2 if mid**2<=S2: low = mid else: high = mid print(low)