#include #define For(i,x,y) for (register int i=(x);i<=(y);i++) #define FOR(i,x,y) for (register int i=(x);i<(y);i++) #define Dow(i,x,y) for (register int i=(x);i>=(y);i--) #define Debug(v) for (auto i:v) cout< pa; typedef pair PA; typedef vector poly; inline ll read(){ ll x=0,f=1;char c=getchar(); while ((c<'0'||c>'9')&&(c!='-')) c=getchar(); if (c=='-') f=-1,c=getchar(); while (c>='0'&&c<='9') x=x*10+c-'0',c=getchar(); return x*f; } inline void solve(){ int n=read(),m=read(); if (nm) r=n/(n/l); else r=min(n/(n/l),m/(m/l)); int k1=n/l,k2=m/l; if (k1==k2){ if (n==m) ansl=min(ansl,l),ansr=max(ansr,r); continue; } if ((n-m)%(k1-k2)==0){ int t=(n-m)/(k1-k2); if (t>=l&&t<=r&&t-1>=1) ansl=min(ansl,t),ansr=max(ansr,t); } } if (!ansr) return puts("-1 -1"),void(0); printf("%d %d\n",ansl,ansr); } int main(){ int T=read(); while (T--) solve(); }