#include #include #include #include using namespace std; typedef long long LL; int IsPrime (LL n) { int i; if (n < 2){ return 0; } if (n==2){ return 1; } if (n % 2 == 0){ return 0; } double sqrtNum = sqrt((double)n); for (i = 3; i <= sqrtNum; i += 2){ if (n % i == 0 ){ return 0; } } return 1; } int main(int argc, char* argv[]) { LL N,i,j; cin>>N; map priMap; vector pri; map::iterator mit; for (i=1;i<=N;i++){ if (IsPrime(i)==1){ priMap[i]=1; pri.push_back(i); } } int ans=0; int n=pri.size(); for (i=0;i