#pragma GCC optimize "O3,omit-frame-pointer,inline" #pragma GCC push_options #pragma GCC optimize ("unroll-loops") #define _USE_MATH_DEFINES #include using namespace std; signed main () { std::ios::sync_with_stdio(false); std::cin.tie(0); int t; cin >> t; while (t--) { int a, b; cin >> a >> b; if (b % a == 0) { cout << 0 << endl; continue; } bool found = false; int mi = 2e9; for (int k = 2; k * a < b; k++) { int num = b - k * a; int den = k - 1; int x = num / den; if (num % den == 0) { if ((b + x) % ((a + x) * k) == 0) { mi = min(mi, x); found = true; } } } if (found) { cout << mi << endl; } else { cout << -1 << endl; } } return 0; }