#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef string::const_iterator State; #define Ma_PI 3.141592653589793 #define eps 1e-5 #define LONG_INF 1000000000000000000LL #define GOLD 1.61803398874989484820458 #define MAX_MOD 1000000007LL #define GYAKU 500000004LL #define MOD 998244353LL #define seg_size 262144*4 #define REP(a,b) for(long long a = 0;a < b;++a) long long gcd(long long a, long long b) { if (b == 0) return a; return gcd(b, a % b); } int main() { long long t, a, b; cin >> t >> a >> b; long long ans = (t + a - 1LL) / a + (t + b - 1LL) / b - 1LL; long long get_gcd = gcd(a, b); if (t / b >= a / get_gcd) { long long syuuki = a * b / get_gcd; ans -= (t + syuuki - 1LL) / syuuki; ans++; } cout << ans << endl; }