#P10702. [SNCPC2024] 下棋

[SNCPC2024] 下棋

题目描述

LNC 喜欢所有 kk 进制下所有数位的乘积为自身因子的数。他称之为 LNC 数。例如:

k=10k = 10 时,y=(36)10y = (36)_{10} 是 LNC 数,因为 (3×6)36(3 \times 6) \mid 36

k=4k = 4 时,y=(12)4y = (12)_4 是 LNC 数,因为转换成十进制后 (12)4=(6)10(12)_4 = (6)_{10},而 (1×2)6(1 \times 2) \mid 6

k=2k = 2 时,y=(1101)2y = (1101)_2 不是 LNC 数,因为转换成十进制后 (1101)2=(13)10(1101)_2 = (13)_{10},而 00 不是 1313 的因子。

LNC 在和 LJJ 玩一个游戏,LJJ 给出 xx 枚棋子,然后 LNC 选定一个整数 kk (k2k \geq 2)。随后他们交替取走若干枚棋子,要求取走的棋子数量是 kk 进制意义下的 LNC 数。LNC 先手,先取完的获胜。两个人都绝顶聪明,故都会选择最优的策略。

LJJ 觉得这个游戏很不公平,他们一共玩了 TT 局游戏,对于每局游戏他给出的 xx,他希望知道最小的 kk 使得 LNC 先手必胜。

输入格式

输入第一行一个正整数 TT (1T1×1021 \le T \le 1 \times 10^2),表示数据组数。

接下来 TT 行每行一个正整数 xx (3x10183 \le x \le 10^{18}),表示 LJJ 给出的数 xx

输出格式

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

3
9
5
10

2
2
3

提示

x=5x=5 的时候,LNC 可以选择 k=2k=2x=(5)10=(101)2x=(5)_{10}=(101)_2

LNC 先手拿掉 (11)2(11)_2,此时 x=(10)2x=(10)_2,LJJ 只能拿走 (1)2(1)_2,LNC 拿走最后的 (1)2(1)_2 获胜。

又因为 k=2k=2 已经不能再小了,所以最终答案为 k=2k=2