import bisect from functools import cache @cache def count_le(n): if n < 1: return 0 ans = 1 for b in range(2, n + 1): if 2**b > n: break a = bisect.bisect_right(range(n + 1), n, key=lambda a: a**b) - 1 ans += a - count_le(a) return ans def solve(k): ans = bisect.bisect_left(range(10**18 * 2), k, key=count_le) return ans case_t = 1 case_t = int(input()) for _ in [None] * case_t: k = int(input()) print(solve(k))