func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 355001;   const int SQRTN = 320;   const int LOGN = 20;   const long double PI = acos(-1);   const long double TAU = 2 * PI;   long long nk, n, k, a, b;   vector<long long> first, last;   long long gcd(long long x, long long b) {     if (b == 0) return x;     return gcd(b, x % b);   }   signed main() {     cin >> n >> k >> a >> b;     nk = n * k;     first.push_back(a);     first.push_back(k - a);     last.push_back(b);     last.push_back(k - b);     for (int i = 0; i < n; i++) {       last.push_back((last[0] + nk - i * k) % nk);       last.push_back((last[1] + nk - i * k) % nk);       last.push_back((i * k + last[0]) % nk);       last.push_back((i * k + last[1]) % nk);     }     long long mn = 100000000000000ll, mx = 0;     for (int i = 0; i < last.size(); i++) {       mn = min(mn, nk / gcd(nk, abs(last[i] - first[0])));       mx = max(mx, nk / gcd(nk, abs(last[i] - first[0])));       mx = max(mx, nk / gcd(nk, abs(last[i] - first[1])));       mn = min(mn, nk / gcd(nk, abs(last[i] - first[1])));     }     cout << mn <<     << mx << endl;   }   