#include using namespace std; #define ll long long #define rep(i, n) for (int i = 0; i < (int)(n); i++) template bool chmin(T& a, T b){if(a > b){a = b; return true;} return false;} template bool chmax(T& a, T b){if(a < b){a = b; return true;} return false;} const long long mod=998244353; const long long mod2=469762049; const long long mod100=1000000007; int main(){ cout.tie()->sync_with_stdio(0); cin.tie(0); int N;cin>>N; int ans[N+1],F[N+1]; for(int i=1;i<=N;i++){ ans[i]=-2; F[i]=0; } ans[1]=1; for(int i=2;i<=N;i++){ if(F[i]!=0) continue; for(int j=i;j<=N;j+=i){ F[j]++; } } for(ll i=2;i<=N;i++){ if(F[i]!=1) continue; for(ll j=1;i*i*j<=N;j++){ ans[i*i*j]=0; } } for(int i=2;i<=N;i++){ if(ans[i]==-2){ if(F[i]%2==0) ans[i]=1; else ans[i]=-1; } } int answer=0; for(int i=1;i<=N;i++){ answer+=ans[i]; //cout<