func_code_string: #include <bits/stdc++.h>   using namespace std;   int q;   long long L, R;   set<long long> s;   long long v2[2000002], x;   void precalculate() {     long long LLMAX = 1e18;     for (int i = 2; i <= 1000000; ++i) {       long long x = 1LL * i * i * i;       while (1) {         if ((int)sqrt(x) != sqrt(x)) s.insert(x);         if (x <= LLMAX / i)           x = x * i;         else           break;       }     }     for (set<long long>::iterator it = s.begin(); it != s.end(); ++it)       v2[++x] = *it;     v2[x + 1] = 2e18;   }   long long cb(long long nr) {     int b = 1;     int e = x;     while (b <= e) {       int m = (b + e) / 2;       if (v2[m] <= nr && v2[m + 1] > nr) return m;       if (v2[m] <= nr)         b = m + 1;       else         e = m - 1;     }     return 0;   }   long long cb2(long long nr) {     int b = 0;     int e = 1e9;     while (b <= e) {       int m = (b + e) / 2;       if (1LL * m * m <= nr && 1LL * (m + 1) * (m + 1) > nr) return m;       if (1LL * m * m <= nr)         b = m + 1;       else         e = m - 1;     }   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     cin >> q;     precalculate();     for (int i = 1; i <= q; ++i) {       cin >> L >> R;       long long sol = cb(R) - cb(L - 1) + cb2(R) - cb2(L - 1);       cout << sol <<   n ;     }     return 0;   }   