func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long N = 2e6 + 5, Mod = 1e9 + 7, Lg = 27, P = 727, Sq = 350;   const long long Inf = 3e18 + 10;   long long ans;   long long gcd(long long x, long long y) {     if (x > y) swap(y, x);     if (!x) return y;     return gcd(x, y % x);   }   void solve(long long x, long long y, long long d1, long long z, long long w,              long long d2) {     long long t = y - x + 1;     long long g = gcd(d1, d2);     long long d = abs(x - z);     long long q = d / g;     if (x < z) {       x += q * g;       if (x < z) x += g;     } else {       x -= q * g;       if (x > y) x -= g;     }     if (x < z || x > w) return;     ans = max(ans, min(t, w - x + 1));   }   int32_t main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     long long x, y, d1, z, w, d2;     cin >> x >> y >> d1 >> z >> w >> d2;     solve(x, y, d1, z, w, d2);     solve(z, w, d2, x, y, d1);     cout << ans;     return 0;   }   