#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define pb push_back vector vec; bool visited[200100]; void seive () { int i,j,k; k=sqrt(2e5); vec.pb(2); for (i=3;i<=k;i+=2) { if (visited[i]) continue; for (j=i*i;j<=2e5;j+=i) visited[j]=1; } for (i=3;i<=2e5;i+=2) if (!visited[i]) vec.pb(i); } int main(){ int g; cin >> g; seive(); for(int a0 = 0; a0 < g; a0++){ int n; cin >> n; int ans=upper_bound(vec.begin(),vec.end(),n)-vec.begin(); //cout<