题目描述
贝贝和宁宁正在玩一个经典的取石子游戏。
- 游戏开始前,桌子上有 $n$ 堆石子,第 $i$ 堆石子恰好有 $i$ 个($1 \le i \le n$)。
- 贝贝和宁宁轮流进行操作,贝贝先手。
- 每次操作,玩家可以从任意一堆石子中取走任意数量的正整数个石子,不能不取。
- 无法进行操作(即所有石子都被取光)的玩家判负。
宁宁知道贝贝是一个博弈论大师,如果按原计划进行,自己作为后手很可能会输掉比赛。为了赢得胜利,宁宁决定在游戏正式开始前"做点手脚"。
在正式游戏开始前,宁宁可以进行若干次特殊操作。每次特殊操作,宁宁可以选择一堆当前数量为 $x$($x > 1$)的石子,并将其数量变成 $\varphi(x)$ 个。其中 $\varphi(x)$ 表示欧拉函数,即小于等于 $x$ 且与 $x$ 互质的正整数的个数。宁宁可以对同一堆石子进行多次连续的特殊操作。
宁宁希望在游戏正式开始时,自己处于必胜态(即无论贝贝如何操作,宁宁都有确定的策略赢得游戏)。同时,为了降低被贝贝发现的风险,宁宁必须迅速完成修改。
请你帮宁宁寻找一种特殊操作方案,使其能够在不超过 10 次操作内(包含 $10$ 次)让自己变为必胜态。如果有解,请输出你构造的操作总次数,以及每次进行特殊操作时,对应的是初始状态下的哪一堆石子。
输入格式
本题包含多组评测用例。
第一行包含一个整数 $T\ (1 \le T \le 10000)$,表示评测用例组数。
接下来的 $T$ 行,每行包含一个正整数 $n\ (1 \le n \le 10^{12})$,表示该组数据中初始时石子的堆数。
输出格式
对于每组评测用例:
- 如果无论宁宁操作多少次都无法让自己变为必胜态,输出一行一个整数
-1。 - 否则,输出两行,第一行输出一个非负整数 $k$($0 \le k \le 10$),表示宁宁进行的特殊操作次数。
- 如果 $k > 0$,请在下一行输出 $k$ 个用空格隔开的正整数,表示宁宁每次操作所选择的初始石子堆的编号(即初始石子数量)。
本题使用 Special Judge(自定义校验器)。如果你给出的操作序列能够在不超过 $10$ 步的前提下使得游戏初始态变为宁宁必胜,均被视为正确答案。
样例
输入
3
3
6
4
输出
0
2
4 3
3
4 2 3