func_code_string: #include <bits/stdc++.h>   long long x, y;   int maxdis(long long x, long long n, long long s) {     if (x > (s >> 1)) x = s - x;     if (x * n > s)       return maxdis(s % x, (x * n + s % x) / s, x);     else       return (x > (s - x * (n - 1)) ? x : (s - x * (n - 1)));   }   int a, n, p, h;   int main() {     int t;     using namespace std;     ios::sync_with_stdio(false);     cin >> t;     for (register int i = 0; i < t; i++) {       cin >> a >> n >> p >> h, a %= p;       int maxd = ((long long)a * n < p) ? a : maxdis(a % p, n + 1, p);       if (maxd <= h)         cout <<  YES n ;       else         cout <<  NO n ;     }     return 0;   }   