#include using namespace std; using ll = long long; using ull = unsigned long long; const int INF = 2e9; const ll LINF = 2e18; #define rep(i, n) for (int i = 0; (i) < (n); (i)++) #define rep1(i, n) for (int i = 1; (i) < ((n) + 1); (i)++) #define all(a) (a).begin(), (a).end() const int dx[] = {-1,0,1,0}; const int dy[] = {0,1,0,-1}; int main(){ ll N; cin>>N; bool isprime[100009]; rep1(i,100000) isprime[i] = true; isprime[0] = false; isprime[1] = false; for(int i = 2; i < 1000; i++){ for(int j = 2; i * j <= 100000; j++){ isprime[i*j] = false; } } ll ans = 0; rep1(i,100000){ if(isprime[i]){ ll t = i; while(t*i <= N){ t*=i; ans+=t; } } } cout<