C. Цепочка делителей
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дано целое число $$$x$$$. Вам нужно уменьшить $$$x$$$ до $$$1$$$.

Для этого вы можете выполнять следующую операцию несколько (возможно, ноль) раз:

  • выбрать $$$d$$$, являющееся делителем $$$x$$$, затем заменить $$$x$$$ на $$$x-d$$$, т.е. уменьшить $$$x$$$ на $$$d$$$. (Мы называем $$$d$$$ делителем $$$x$$$, если $$$d$$$ — положительное целое число, для которого существует целое $$$q$$$, такое что $$$x = d \cdot q$$$.)

Кроме того, есть дополнительное ограничение: вам нельзя выбирать одно и то же значение $$$d$$$ более двух раз.

Например, для $$$x=5$$$ следующая последовательность действий является недопустимой, поскольку в ней $$$1$$$ использована более чем дважды: $$$5\xrightarrow{-1}4\xrightarrow{-1}3\xrightarrow{-1}2\xrightarrow{-1}1$$$. Однако следующая последовательность действий является допустимой: $$$5\xrightarrow{-1}4\xrightarrow{-2}2\xrightarrow{-1}1$$$.

Выведите произвольную последовательность действий, которая уменьшает $$$x$$$ до $$$1$$$ не более чем за $$$1000$$$ операций. Можно доказать, что такая последовательность всегда существует.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Единственная строка каждого набора входных данных содержит одно целое число $$$x$$$ ($$$2\le x \le 10^{9}$$$).

Выходные данные

Для каждого набора входных данных выведите две строки.

В первой строке выведите целое число $$$k$$$ ($$$1 \le k \le 1001$$$).

Во второй строке через пробел выведите $$$k$$$ целых чисел $$$a_1,a_2,\ldots,a_k$$$, таких что:

  • $$$a_1=x$$$;
  • $$$a_k=1$$$;
  • для каждого $$$2 \le i \le k$$$, величина $$$(a_{i-1}-a_i)$$$ является делителем $$$a_{i-1}$$$. Каждое число может быть выбрано делителем не более чем дважды.
Пример
Входные данные
3
3
5
14
Выходные данные
3
3 2 1
4
5 4 2 1
6
14 12 6 3 2 1
Примечание

В первом наборе входных данных можно выполнить следующую последовательность операций: $$$3\xrightarrow{-1}2\xrightarrow{-1}1$$$.

В втором наборе входных данных можно выполнить следующую последовательность операций: $$$5\xrightarrow{-1}4\xrightarrow{-2}2\xrightarrow{-1}1$$$.

В третьем наборе входных данных можно выполнить следующую последовательность операций: $$$14\xrightarrow{-2}12\xrightarrow{-6}6\xrightarrow{-3}3\xrightarrow{-1}2\xrightarrow{-1}1$$$.