[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$。