#include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rrep(i,a,b) for(int i=(b)-1;i>=(a);i--) #define all(x) begin(x),end(x) #define sz(x) (int)(x).size() using namespace std; using namespace atcoder; using ll=long long; using ld=long double; using vll=vector; using vvll=vector; using vi=vector; using vvi=vector; using pll=pair; using pi=pair; // using mint=modint998244353; // using mint2=static_modint<2>; // using BoostPoint=boost::polygon::point_data; // using Voronoi=boost::polygon::voronoi_diagram; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int T; cin>>T; while(T--){ ll X,A,B; cin>>X>>A>>B; ll a=min(A,B),b=max(A,B); ll g=gcd(a,b); ll m=a/g; ll j=(X-1)/b+1; ll p=((X-1)/a+1)*a,q=j*b;//p = X 以上の最小の a の倍数, q = X 以上の最小の b の倍数 ll r=(m-j%m)%m;//(j+r)b で止まる ll ans=2*r+1; if(p