func_code_string: #include <bits/stdc++.h>   using namespace std;   const double eps = 1e-6;   const double pi = 3.14159265358979323846264338;   inline long long multi(long long x, long long y) {     long long tmp =         (x * y -          (long long)((long double)x / 998244353 * y + 1.0e-8) * 998244353);     return tmp < 0 ? tmp + 998244353 : tmp;   }   long long _ceil(long long a, long long b);   long long _floor(long long a, long long b) {     return b < 0 ? _floor(-a, -b) : a < 0 ? -_ceil(-a, b) : a / b;   }   long long _ceil(long long a, long long b) {     return b < 0 ? _ceil(-a, -b) : a < 0 ? -_floor(-a, b) : (a + b - 1) / b;   }   long long exgcd(long long a, long long b, long long &x, long long &y) {     if (b == 0) {       x = 1;       y = 0;       return a;     }     long long d = exgcd(b, a % b, y, x);     y -= x * (a / b);     return d;   }   int32_t main() {     ios ::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long a1, a2, b1, b2, x0, y0;     long long l, r;     cin >> a1 >> b1 >> a2 >> b2 >> l >> r;     l = max(0ll, _ceil(l - b1, a1));     r = _floor(r - b1, a1);     if (l > r) {       cout << 0 <<   n ;       return 0;     }     long long g = exgcd(a1, -1 * a2, x0, y0);     long long m = b2 - b1;     if (m % g) {       cout << 0 <<   n ;       return 0;     }     if (g < 0) {       g *= -1;       x0 *= -1;       y0 *= -1;     }     long long L = _ceil(r * g - x0 * m, -a2);     long long R = _floor(l * g - x0 * m, -a2);     R = min(R, _floor(y0 * m, a1));     long long ans = max(0ll, R - L + 1);     cout << ans <<   n ;     return 0;   }   