#include using namespace std; int a, b; int mi, ma; void check(int x) { if (x < 2 || x > max(a, b)) return; if (a % x == b % x) mi = min(mi, x), ma = max(ma, x); } void work() { scanf("%d%d", &a, &b); mi = a + b; ma = 0; for (int i = 1; i <= a; ) { check(i); check(i + 1); i = a / (a / i) + 1; } for (int i = 1; i <= b; ) { check(i); check(i + 1); i = b / (b / i) + 1; } check(a); check(b); check(2); check(a - b); check(b - a); if (mi > ma) puts("-1 -1"); else printf("%d %d\n", mi, ma); } int main() { int T; scanf("%d", &T); while (T--) work(); }