I. Cutting
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

A given number can be cut into two non-empty numbers and replaced with the absolute value of the difference between these two numbers. It is forbidden to obtain zero after such an operation. Such a cut can be repeated several times. It is required to get the minimum possible number in the end.

Input

The first line contains an integer $$$t$$$ — the number of tests.

Each of the following $$$t$$$ lines contains one integer $$$n$$$ — the initial number for cutting.

$$$$$$ 1 \le t \le 10^3 $$$$$$ $$$$$$ 1 \le n \le 10^{12} $$$$$$

Output

For each test, you need to output a path to get the minimum number. First print the integer number $$$m$$$ — the amount of numbers in the path. Then output $$$m$$$ integers. The first number is an initial number, and the last one is the minimum possible number after all cuttings. The cutting must be accomplishable between adjacent numbers. If there are several solutions, output any of them.

Example
Input
3
7
100
42
Output
1 7
2 100 1
2 42 2