func_code_string: #include <bits/stdc++.h>   using namespace std;   bool isPossible(long long k, long long x, long long y, long long p,                   long long q) {     p = p * k;     q = q * k;     if (x > p || y > q) {       return false;     }     if (q - y < p - x) {       return false;     }     return true;   }   long long solve(long long x, long long y, long long p, long long q) {     long long low = 1;     long long high = 1e9;     while (low < high) {       long long mid = low + (high - low) / 2;       if (!isPossible(mid, x, y, p, q)) {         low = mid + 1;       } else {         high = mid;       }     }     if (!isPossible(low, x, y, p, q)) {       return -1;     }     return (q * low - y);   }   int main() {     long long t;     cin >> t;     while (t--) {       long long x, y, p, q;       cin >> x >> y >> p >> q;       cout << solve(x, y, p, q) << endl;     }     return 0;   }   