[SNCPC2024] 下棋

题目描述

LNC 喜欢所有 $k$ 进制下所有数位的乘积为自身因子的数。他称之为 LNC 数。例如: 当 $k = 10$ 时,$y = (36)_{10}$ 是 LNC 数,因为 $(3 \times 6) \mid 36$。 当 $k = 4$ 时,$y = (12)_4$ 是 LNC 数,因为转换成十进制后 $(12)_4 = (6)_{10}$,而 $(1 \times 2) \mid 6$。 当 $k = 2$ 时,$y = (1101)_2$ 不是 LNC 数,因为转换成十进制后 $(1101)_2 = (13)_{10}$,而 $0$ 不是 $13$ 的因子。 LNC 在和 LJJ 玩一个游戏,LJJ 给出 $x$ 枚棋子,然后 LNC 选定一个整数 $k$ ($k \geq 2$)。随后他们交替取走若干枚棋子,要求取走的棋子数量是 $k$ 进制意义下的 LNC 数。LNC 先手,先取完的获胜。两个人都绝顶聪明,故都会选择最优的策略。 LJJ 觉得这个游戏很不公平,他们一共玩了 $T$ 局游戏,对于每局游戏他给出的 $x$,他希望知道最小的 $k$ 使得 LNC 先手必胜。

输入输出格式

输入格式


输入第一行一个正整数 $T$ ($1 \le T \le 1 \times 10^2$),表示数据组数。 接下来 $T$ 行每行一个正整数 $x$ ($3 \le x \le 10^{18}$),表示 LJJ 给出的数 $x$。

输出格式


输出 $T$ 行每行一个正整数 $k$,表示每个询问的最小的 $k$,使 LNC 先手必胜。

输入输出样例

输入样例 #1

3
9
5
10

输出样例 #1

2
2
3

说明

当 $x=5$ 的时候,LNC 可以选择 $k=2$。$x=(5)_{10}=(101)_2$。 LNC 先手拿掉 $(11)_2$,此时 $x=(10)_2$,LJJ 只能拿走 $(1)_2$,LNC 拿走最后的 $(1)_2$ 获胜。 又因为 $k=2$ 已经不能再小了,所以最终答案为 $k=2$。