func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 1e6;   const long long int inf = 1e18;   vector<long long int> v, arr;   void pf() {}   long long int sqrtfun(long long int num) {     long long int lo = 0, hi = (long long int)2e9, mid;     if (num == 1) return num;     while (lo + 1 < hi) {       mid = lo + hi >> 1LL;       if (mid * mid == num)         return mid;       else if (mid * mid > num)         hi = mid;       else         lo = mid;     }     return (mid * mid > num) ? mid - 1 : mid;   }   long long int get(long long int r) {     int ans = upper_bound(arr.begin(), arr.end(), r) - arr.begin();     return ans + sqrtfun(r) - 1;   }   void solve() {     for (long long int i = 2; i <= N; i++) {       for (long long int j = i * i * i; j <= inf; j *= i) {         long long int x = sqrtfun(j);         if (x * x != j) v.push_back(j);         if (inf / i < j) break;       }     }   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(NULL);     cout.tie(NULL);     long long int t, l, r, ans = 0;     cin >> t;     solve();     sort(v.begin(), v.end());     for (auto i : v) {       if (arr.empty())         arr.push_back(i);       else if (arr.back() != i)         arr.push_back(i);     }     while (t--) {       cin >> r;       cout << r - get(r) - 1 <<   n ;     }     return 0;   }   