#include #include #include using namespace std; void Sieve(long long n) { } int main() { int g; cin>>g; long long n[g]; for(long long i = 0;i>n[i]; long long maxN = *max_element(n,n + g); int primeCount[maxN + 1]; // bool prime[maxN+1]; primeCount[0] = 0; primeCount[1] = 0; memset(prime, true, sizeof(prime)); for (long long p=2; p*p<=maxN; p++) { if (prime[p] == true) { for (long long i=p*2; i<=maxN; i += p) prime[i] = false; } } for (int p=2; p<=maxN; p++) { if (prime[p]) primeCount[p] = primeCount[p - 1] + 1; else primeCount[p] = primeCount[p - 1]; } for(long long i = 0;i