一个给定的数字可以被切分成两个非空的数字,并替换为这两个数字之差的绝对值。禁止在操作后得到零。这样的切割可以重复多次。要求最终得到尽可能小的数字。
输入格式
第一行包含一个整数 $t$ —— 测试用例的数量。 接下来的 $t$ 行,每行包含一个整数 $n$ —— 用于切割的初始数字。
$1 \le t \le 10^3$ $1 \le n \le 10^{12}$
输出格式
对于每个测试用例,你需要输出一条得到最小数字的路径。首先打印整数 $m$ —— 路径中数字的数量。然后输出 $m$ 个整数。第一个数字是初始数字,最后一个数字是经过所有切割后得到的最小可能数字。切割必须在相邻的数字之间完成。如果有多种方案,输出其中任意一种即可。
样例
输入 1
3 7 100 42
输出 1
1 7 2 100 1 2 42 2