Limit = [0 for _ in range(60)] for i in range(2, 60): Limit[i] = int((10**18 + 10000)**(1 / i)) def f(n): Cnt = [0 for _ in range(60)] for i in range(59, 1, -1): left = 0 right = Limit[i] + 1 while right - left > 1: mid = (left + right) // 2 if mid**i <= n: left = mid else: right = mid left -= 1 Cnt[i] = left - sum(Cnt[::i]) return sum(Cnt) + 1 t = int(input()) for _ in range(t): k = int(input()) left = 0 right = 10**18 while right - left > 1: mid = (left + right) // 2 if f(mid) >= k: right = mid else: left = mid print(right)