#include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i, n) for(i = 0; i < n; i++) #define int long long using namespace std; using namespace atcoder; bool isprime[100001]; signed main() { int n; cin >> n; int i, j; for (i = 2; i <= 100000; i++) isprime[i] = true; for (i = 2; i <= 100000; i++) { if (isprime[i]) { for (j = i * 2; j <= 100000; j += i) isprime[j] = false; } } int ans = 0; for (i = 2; i <= 100000; i++) { if (!isprime[i]) continue; int mul = i * i; while (mul <= n) { ans += mul; mul *= i; } } cout << ans << endl; return 0; }