#include using namespace std; int main(){ int T; cin >> T; set s; while(T--){ long long K; cin >> K; long long ub = 2000000000000000000, lb = -1; bool f = true; while(ub - lb > 1){ long long mid = (ub + lb) / 2; long long cnt = 1; vector dp(62); for(int i = 1; i <= 60; i++){ long long ok = 2000000000, ng = 0; while(ok - ng > 1){ long long m = (ok + ng) / 2; long long temp = m; bool f = true; int rest = i; while(rest--){ if(temp <= mid / m){ temp *= m; } else{ f = false; break; } } if(f) ng = m; else ok = m; } dp[i + 1] = ng - 1; } for(int i = 61; i >= 2; i--){ for(int j = i * 2; j <= 61; j += i) dp[i] -= dp[j]; cnt += dp[i]; } if(cnt >= K) ub = mid; else lb = mid; } cout << ub << endl; } }