#include <algorithm> #include <iostream> #include <vector> using namespace std; vector<int> get_primes_less_than(int n) { vector<int> primes; vector<int> min_prime_factor(n, 0); for (int i = 2; i < n; ++i) { if (min_prime_factor[i] == 0) primes.push_back(i); for (auto p : primes) { if (p * i >= n) break; min_prime_factor[p * i] = p; if (i % p == 0) break; } } return primes; } int main() { int t; scanf("%d", &t); auto primes = get_primes_less_than(1000001); for (int i = 0; i < t; ++i) { int n; scanf("%d", &n); printf("%d\n", (int)(upper_bound(primes.begin(), primes.end(), n) - primes.begin())); } }