CF1864C Divisor Chain

Description

You are given an integer $ x $ . Your task is to reduce $ x $ to $ 1 $ . To do that, you can do the following operation: - select a divisor $ d $ of $ x $ , then change $ x $ to $ x-d $ , i.e. reduce $ x $ by $ d $ . (We say that $ d $ is a divisor of $ x $ if $ d $ is an positive integer and there exists an integer $ q $ such that $ x = d \cdot q $ .) There is an additional constraint: you cannot select the same value of $ d $ more than twice. For example, for $ x=5 $ , the following scheme is invalid because $ 1 $ is selected more than twice: $ 5\xrightarrow{-1}4\xrightarrow{-1}3\xrightarrow{-1}2\xrightarrow{-1}1 $ . The following scheme is however a valid one: $ 5\xrightarrow{-1}4\xrightarrow{-2}2\xrightarrow{-1}1 $ . Output any scheme which reduces $ x $ to $ 1 $ with at most $ 1000 $ operations. It can be proved that such a scheme always exists.

Input Format

Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 1000 $ ). The description of the test cases follows. The only line of each test case contains a single integer $ x $ ( $ 2\le x \le 10^{9} $ ).

Output Format

For each test case, output two lines. The first line should contain an integer $ k $ ( $ 1 \le k \le 1001 $ ). The next line should contain $ k $ integers $ a_1,a_2,\ldots,a_k $ , which satisfy the following: - $ a_1=x $ ; - $ a_k=1 $ ; - for each $ 2 \le i \le k $ , the value $ (a_{i-1}-a_i) $ is a divisor of $ a_{i-1} $ . Each number may occur as a divisor at most twice.

Explanation/Hint

In the first test case, we use the following scheme: $ 3\xrightarrow{-1}2\xrightarrow{-1}1 $ . In the second test case, we use the following scheme: $ 5\xrightarrow{-1}4\xrightarrow{-2}2\xrightarrow{-1}1 $ . In the third test case, we use the following scheme: $ 14\xrightarrow{-2}12\xrightarrow{-6}6\xrightarrow{-3}3\xrightarrow{-1}2\xrightarrow{-1}1 $ .