#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef long long int ll; //#include using namespace std; int main() { int Q; Q = 1; //cin >> Q; while (Q--) { ll n; ll a, b, c; cin >> n >> a >> b >> c; sets; for (int i = 1; i <= n; i++) { if (i % a == 0)s.insert(i); if (i % b == 0)s.insert(i); if (i % c == 0)s.insert(i); if (i % (a*b) == 0)s.insert(i); if (i % (b*c) == 0)s.insert(i); if (i % (c*a) == 0)s.insert(i); if (i % (b*a) == 0)s.insert(i); if (i % (b * a*c) == 0)s.insert(i); } cout << s.size(); /* ll n; cin >> n; ll ans = 0; ll a, b, c; vectorx(3); cin >> x[0] >> x[1] >> x[2]; sort(x.begin(), x.end()); if (x[2] % x[0] == 0)x[2] = 0; if (x[2]&&x[2] % x[1] == 0)x[2] = 0; if (x[1]&&x[1] % x[0] == 0)x[1] = 0; ans += n / x[0]; if (x[1])ans += n / x[1]; if(x[2])ans+=n / x[2]; if (x[0] * x[1])ans -= n / (x[0] * x[1]); if (x[0] * x[2])ans -= n / (x[0] * x[2]); if (x[2] * x[1])ans -= n / (x[1] * x[2]); if (x[0] * x[1]*x[2])ans += n / (x[0] * x[1] * x[2]); cout << ans; */ } return 0; }