#include #include using namespace std; long sq(long N,long k) { if(k>=30)return 1; long L=0,R=N+1; while(R-L>1) { long mid=(L+R)/2; long t=1; bool ok=true; for(int i=0;iN/mid) { ok=false; break; } t*=mid; } if(ok)L=mid; else R=mid; } return L; } vectorps={2,3,5,7,11,13,17,19,23,29}; long cnt(long N) { long ans=N>=1; for(int i=1;i<1<<10;i++) { long k=1; for(int j=0;j<10;j++)if(i>>j&1)k*=ps[j]; long now=sq(N,k)-1; ans+=__builtin_parity(i)?now:-now; } return ans; } main() { int T; //cout<>T; for(;T--;) { long K;cin>>K; long L=0,R=1e18; while(R-L>1) { long mid=(L+R)/2; if(cnt(mid)