#include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) for (int i=0;i<(n);i++) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) #define INF 1<<30 #define ALEN(ARR) (sizeof(ARR) / sizeof((ARR)[0])) #define MP make_pair #define mp make_pair #define pb push_back #define PB push_back #define DEBUG(x) cout<<#x<<": "< 0) { int r = a % b; a = b; b = r; } return a; } ll lcm(ll a, ll b) { if(a == 0 || b == 0) { cout << "Error" << endl; return 0; } return (a * b / gcd(a, b)); } int counting(int end, int a, int b, int c) { int ret = 0; int N = end; ret += N / a + N / b + N / c; ret -= N / lcm(a, b) + N / lcm(b, c) + N / lcm(c, a); ret += N / lcm(a, lcm(b, c)); /* DEBUG(lcm(a, b)); DEBUG(lcm(b, c)); DEBUG(lcm(c, a)); DEBUG(lcm(a, lcm(b, c))); */ return ret; } int main(){ cin.tie(0); ios::sync_with_stdio(false); cout.precision(16); int end; int a, b, c; cin >> end >> a >> b >> c; cout << counting(end, a, b, c) << endl; /* cout << counting(100, 2, 3, 5) << endl; cout << counting(100, 2, 5, 6) << endl; cout << counting(346346, 25, 575, 2525) << endl; */ return 0; }