#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define llint long long #define inf 1e18 #define rep(x, s, t) for(llint (x) = (s); (x) < (t); (x)++) #define Rep(x, s, t) for(llint (x) = (s); (x) <= (t); (x)++) #define chmin(x, y) (x) = min((x), (y)) #define chmax(x, y) (x) = max((x), (y)) using namespace std; typedef pair P; llint T; llint n; vector vec[35]; llint gcd(llint a, llint b) { if(b == 0) return a; return gcd(b, a%b); } llint get(llint e, llint n) { if(e >= 2) return upper_bound(vec[e].begin(), vec[e].end(), n) - vec[e].begin(); else return n; } int main(void) { ios::sync_with_stdio(0); cin.tie(0); for(int i = 1; i <= 1000000; i++){ llint mul = i; for(int j = 2; j < 35; j++){ mul *= i; if(mul > 1e9+7) break; vec[j].push_back(mul); } } cin >> T; for(int t = 0; t < T; t++){ cin >> n; llint ans = n * n; for(int i = 1; i <= min(32LL, n); i++){ for(int j = 1; j <= min(32LL, n); j++){ if(gcd(i, j) > 1) continue; llint num = n / max(i, j); ans += num * (get(max(i, j), n) - 1); } } cout << ans << endl; } return 0; }