#P13582. [NWRRC 2023] Based Zeros

[NWRRC 2023] Based Zeros

Description

Barbara 一直以来都知道如何用十进制(以 1010 为底)表示整数,使用的数字有 0,1,2,,90, 1, 2, \ldots, 9。最近她了解到,对于任意整数底数 b2b \ge 2,她也可以用 bb 进制表示整数,使用的数字为 00b1b-1

Barbara 最喜欢的数字是 00。幸运的是,在所有进制中,00 的写法都是一样的。

今天,Barbara 正在玩一个正整数 nn。现在她想知道:在表示 nn 的所有进制中,在哪些进制下 nn 的表示中包含最多个 00?请你帮她找出所有这样的进制。

Input Format

每组测试数据包含多个测试用例。第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的数量。

接下来每个测试用例占一行,每行包含一个正整数 nn2n10182 \le n \le 10^{18})。

Output Format

对于每个测试用例,第一行输出两个整数 kkmm,分别表示在所有进制下 nn 的表示中最多有 kk00,以及有 mm 个这样的进制。

第二行输出 mm 个整数 b1,b2,,bmb_1, b_2, \ldots, b_m,表示所有满足条件的进制,按递增顺序输出(2b1<b2<<bmn2 \le b_1 < b_2 < \cdots < b_m \le n)。

3
11
1007
239
1 3
2 3 11
2 2
3 10
1 4
2 6 15 239

Hint

以下是样例测试用例中,nn 的表示包含最多 00 的进制:

  • $11 = \mathtt{1011}_2 = \mathtt{102}_3 = \mathtt{10}_{11}$(有一个 00);
  • 1007=11010223=1007101007 = \mathtt{1101022}_3 = \mathtt{1007}_{10}(有两个 00);
  • $239 = \mathtt{11101111}_2 = \mathtt{1035}_6 = \mathtt{10E}_{15} = \mathtt{10}_{239}$(有一个 00)。

239=10E15239 = \mathtt{10E}_{15} 的表示中,E\mathtt{E} 代表值为 1414 的数字。

由 ChatGPT 4.1 翻译