#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;
}
