You are an expert competitive programmer. You will be given a problem statement, test case constraints and example test inputs and outputs. Please reason step by step about the solution (that must respect memory and time limits), then provide a complete implementation in c++17.

Your solution must read input from standard input (cin), write output to standard output (cout).
Do not include any debug prints or additional output.

Put your final solution within a single code block:
```cpp
<your code here>
```

Execution time limit: 2.0 seconds
Memory limit: 256.0 MB

# Problem
Phoenix has decided to become a scientist! He is currently investigating the growth of bacteria.

Initially, on day $$$1$$$, there is one bacterium with mass $$$1$$$.

Every day, some number of bacteria will split (possibly zero or all). When a bacterium of mass $$$m$$$ splits, it becomes two bacteria of mass $$$\frac{m}{2}$$$ each. For example, a bacterium of mass $$$3$$$ can split into two bacteria of mass $$$1.5$$$.

Also, every night, the mass of every bacteria will increase by one.

Phoenix is wondering if it is possible for the total mass of all the bacteria to be exactly $$$n$$$. If it is possible, he is interested in the way to obtain that mass using the minimum possible number of nights. Help him become the best scientist!

## Input Format
The input consists of multiple test cases. The first line contains an integer $$$t$$$ ($$$1 \le t \le 1000$$$) — the number of test cases.

The first line of each test case contains an integer $$$n$$$ ($$$2 \le n \le 10^9$$$) — the sum of bacteria masses that Phoenix is interested in.

## Output Format
For each test case, if there is no way for the bacteria to exactly achieve total mass $$$n$$$, print -1. Otherwise, print two lines.

The first line should contain an integer $$$d$$$  — the minimum number of nights needed.

The next line should contain $$$d$$$ integers, with the $$$i$$$-th integer representing the number of bacteria that should split on the $$$i$$$-th day.

If there are multiple solutions, print any.

## Examples
```input
3
9
11
2
```
```output
3
1 0 2 
3
1 1 2
1
0
```

## Note
In the first test case, the following process results in bacteria with total mass $$$9$$$:

- Day $$$1$$$: The bacterium with mass $$$1$$$ splits. There are now two bacteria with mass $$$0.5$$$ each.
- Night $$$1$$$: All bacteria's mass increases by one. There are now two bacteria with mass $$$1.5$$$.
- Day $$$2$$$: None split.
- Night $$$2$$$: There are now two bacteria with mass $$$2.5$$$.
- Day $$$3$$$: Both bacteria split. There are now four bacteria with mass $$$1.25$$$.
- Night $$$3$$$: There are now four bacteria with mass $$$2.25$$$.

$$$ $$$

In the second test case, the following process results in bacteria with total mass $$$11$$$:

- Day $$$1$$$: The bacterium with mass $$$1$$$ splits. There are now two bacteria with mass $$$0.5$$$.
- Night $$$1$$$: There are now two bacteria with mass $$$1.5$$$.
- Day $$$2$$$: One bacterium splits. There are now three bacteria with masses $$$0.75$$$, $$$0.75$$$, and $$$1.5$$$.
- Night $$$2$$$: There are now three bacteria with masses $$$1.75$$$, $$$1.75$$$, and $$$2.5$$$.
- Day $$$3$$$: The bacteria with mass $$$1.75$$$ and the bacteria with mass $$$2.5$$$ split. There are now five bacteria with masses $$$0.875$$$, $$$0.875$$$, $$$1.25$$$, $$$1.25$$$, and $$$1.75$$$.
- Night $$$3$$$: There are now five bacteria with masses $$$1.875$$$, $$$1.875$$$, $$$2.25$$$, $$$2.25$$$, and $$$2.75$$$.

$$$ $$$

In the third test case, the bacterium does not split on day $$$1$$$, and then grows to mass $$$2$$$ during night $$$1$$$.

Now solve the problem and return the code.