#P10702. [SNCPC2024] 下棋

    ID: 12146 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>2024数论O2优化陕西进制XCPC

[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 (k≥2k \geq 2)。随后他们交替取走若干枚棋子,要求取走的棋子数量是 kk 进制意义下的 LNC 数。LNC 先手,先取完的获胜。两个人都绝顶聪明,故都会选择最优的策略。

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

输入格式

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

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

输出格式

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

3
9
5
10

2
2
3

提示

当 x=5x=5 的时候,LNC 可以选择 k=2k=2。x=(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。