import sys
import math


class FactorialCreator:
    def __init__(self):
        self.highest_precalc_fact = 0
        self.precalc_facts = dict()
        self.precalc_facts[0] = 1

    def get_factorial(self, num):
        while num >= self.highest_precalc_fact:
            self.highest_precalc_fact += 1
            self.precalc_facts[self.highest_precalc_fact] = self.precalc_facts[self.highest_precalc_fact-1] * self.highest_precalc_fact

        return self.precalc_facts[num]
        

def main(N, factorial_creator):
    x = 0
    while True:
        if factorial_creator.get_factorial(x) % N == 0:
            wanted = factorial_creator.get_factorial(x) // N
            for y in range(x // 2 + 1):
                f_y = factorial_creator.get_factorial(y)
                f_xy = factorial_creator.get_factorial(x - y)

                if f_y * f_xy == wanted:
                    return x + 1
                if f_y * f_xy < wanted-1:
                    break
        x += 1


if __name__ == '__main__':

    factorial_creator = FactorialCreator()
    # print(f"4! = {factorial_creator.get_factorial(1)}")
    # print(f"4! = {factorial_creator.get_factorial(2)}")
    # print(f"4! = {factorial_creator.get_factorial(3)}")
    # print(f"4! = {factorial_creator.get_factorial(4)}")
    # print(f"4! = {factorial_creator.get_factorial(5)}")
    # print(f"4! = {factorial_creator.get_factorial(6)}")
    # assert main(1, factorial_creator) == 1
    # assert main(3, factorial_creator) == 4
    # assert main(66, factorial_creator) == 13
    # assert main(330, factorial_creator) == 12
    # assert main(10, factorial_creator) == 6
    # print(Q)

    Q = int(input())
    for i in range(Q):
        N = int(input())
        print(main(N, factorial_creator))







# import sys
# import math
#
#
# # def my_fac(x, y):
# #     value = 1
# #     for i in range(x-y+1, x+1):
# #         value *= i
# #     return value
#
# def main(N):
#     x = 0
#     f_x = 1
#     while True:
#         # print(x)
#         f_x = f_x * x if x != 0 else 1
#         if f_x % N == 0:
#             f_y = 1
#             f_xy = f_x
#             tmp = x
#             for y in range(x // 2 + 1):
#                 f_y = f_y * y if y != 0 else 1
#                 if f_x // (f_y * f_xy) == N:
#                     return x + 1
#                 f_xy //= tmp
#                 tmp -= 1
#         x += 1
#
#
# def fact(a, b, c):
#     x = y = z = 1
#     curr = 1
#     for i in range(2, max([a, b, c]) + 1):
#         curr *= i
#         if i == a:
#             x = curr
#         if i == b:
#             y = curr
#         if i == c:
#             z = curr
#     return x, y, z
#
#
# if __name__ == '__main__':
#     assert fact(0, 1, 2) == (1, 1, 2)
#     assert fact(3, 4, 5) == (6, 24, 120)
#
#     Q = int(input())
#     assert main(1) == 1
#     assert main(3) == 4
#     assert main(66) == 13
#     assert main(330) == 12
#     assert main(10) == 6
#     # print(Q)
#
#     for i in range(Q):
#         N = int(input())
#         print(main(N))

