#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define lint long long int /* vectoral(26); al = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; vectorAL(26); AL = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; */ lint euc(lint a, lint b) { if (a < b) return euc(b, a); lint r; while ((r = a % b)) { a = b; b = r; } return b; } int main() { lint T, A, B; cin >> T >> A >> B; if (T == 1) { cout << 0 << endl; } else { cout << (T - 1) / A + (T - 1) / B - (T - 1) / (A * B / euc(A, B)) + 1 << endl; } }