#include using namespace std; int main() { // c >= 2 // a mod c = b mod c // a - floor(a / c) * c = b - floor(b / c) * c // (floor(a / c) - floor(b / c)) * c = a - b int T; scanf("%d", &T); while (T--) { int n, m; scanf("%d%d", &n, &m); int mn = 1e9 + 1, mx = 0; for (int i = 2, j; i <= max(n, m); i = j + 1) { if (n / i == 0) j = m / (m / i); else if (m / i == 0) j = n / (n / i); else j = min(n / (n / i), m / (m / i)); if (n / i != m / i && (n - m) % (n / i - m / i) == 0) { int res = (n - m) / (n / i - m / i); if (res >= i && res <= j) { mn = min(mn, res); mx = max(mx, res); } } if (n == m && n / i == m / i) { mn = min(mn, i); mx = max(mx, j); } } if (mx == 0) puts("-1 -1"); else printf("%d %d\n", mn, mx); } }