#include #include using namespace std; using namespace atcoder; using mint = modint998244353; typedef long long ll; const ll mod = 998244353; int main(){ ll N; cin >> N; ll MAX = 1e7 + 10; vector prime(MAX, -1); prime[0] = prime[1] = 1; for(int i = 2; i < MAX; i++){ if(prime[i] == -1){ prime[i] = i; for(int j = 2; i * j < MAX; j++){ if(prime[i * j] == -1) prime[i * j] = i; } } } ll ans = 0; for(ll i = 1; i <= N; i++){ if(i == 1) ans++; else{ set st; ll nN = i; bool zero = false; ll cnt = 0; while(nN > 1){ if(nN % (prime[nN] * prime[nN]) == 0){ zero = true; break; } nN /= prime[nN]; cnt++; } if(!zero) ans += ((cnt & 1) ? -1 : 1); } } cout << ans << endl; }