#include using namespace std; int64_t powint(int64_t N, int K){ int64_t res = 1; while(K--) res *= N; return res; } int main(){ int T; cin >> T; while(T--){ int64_t N; cin >> N; vector pwmax(31, 1); pwmax[1] = N; for(int i=2; i<=30; i++) while(powint(pwmax[i]+1, i) <= N) pwmax[i]++; int64_t ans = N*N; for(int i=1; i<=30; i++) for(int j=1; j<=30; j++){ if(gcd(i, j) > 1) continue; int m = max(i, j); int64_t res = pwmax[m]-1; res *= N/m; ans += res; } cout << ans << endl; } return 0; }