Дано целое число $$$x$$$. Вам нужно уменьшить $$$x$$$ до $$$1$$$.
Для этого вы можете выполнять следующую операцию несколько (возможно, ноль) раз:
Кроме того, есть дополнительное ограничение: вам нельзя выбирать одно и то же значение $$$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$$$, таких что:
33514
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$$$.
Название |
---|