func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int m;   long long int a;   long long int b;   set<int> s;   long long int im(long long int val, int dv) {     long long int z = 0;     long long int U = (1LL + val / dv) * (val / dv) / 2LL;     U *= dv;     U -= (val / dv) * (dv - (val % dv) - 1);     return U;     for (int i = 0; i <= val; i++) {       z += i / dv;     }     return z;   }   long long int cn(int star, int ds) {     long long int ret = im(m - ds, b) - im(star - ds - 1, b);     ret += m - star + 1;     return ret;   }   int main() {     cin >> m >> a >> b;     long long int mx = 0;     long long int cur = 0;     swap(a, b);     long long int ans = cn(0, 0);     s.insert(0);     while (true) {       if (cur < a) {         cur += b * ((a - cur + b - 1) / b);       }       mx = max(mx, cur);       cur -= a;       cur %= b;       if (mx > m) break;       if (s.count(cur)) break;       s.insert(cur);       ans += cn(mx, cur);     }     printf( %lld n , ans);     return 0;   }   