#include using namespace std; bool prime[50000005]; int tmp[50000005],sum[50000005]; int main() { int N; cin >> N; memset(prime,true,sizeof(prime)); prime[0] = false; prime[1] = false; for(int i = 2; i <= 50000000; i++) { if(!prime[i]) { continue; } for(int j = i*2; j <= 50000000; j += i) { prime[j] = false; } } for(int i = 1; i <= 50000000; i++) { tmp[i] = i; } for(int i = 2; i*i <= 50000000; i++) { if(!prime[i]) { continue; } for(int j = i*i; j <= 50000000; j += i*i) { while (tmp[j]%(i*i) == 0) { tmp[j] /= i*i; } } } for(int i = 1; i*i <= 50000000; i++) { sum[i*i]++; } for(int i = 1; i <= 50000000; i++) { sum[i+1] += sum[i]; } int ans = 0; for(int i = 1; i <= N; i++) { ans += sum[N/tmp[i]]; } cout << ans << endl; }