Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. Оно применяется начиная с раунда 972. ×

C. Возрастающая последовательность с фиксированным ИЛИ
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дано положительное целое число $$$n$$$. Найдите самую длинную последовательность положительных целых чисел $$$a=[a_1,a_2,\ldots,a_k]$$$, которая удовлетворяет следующим условиям, и выведите эту последовательность:

  • $$$a_i\le n$$$ для всех $$$1\le i\le k$$$.
  • $$$a$$$ строго возрастающая. То есть $$$a_i>a_{i-1}$$$ для всех $$$2\le i\le k$$$.
  • $$$a_i\,|\,a_{i-1}=n$$$ для всех $$$2\le i\le k$$$, где $$$|$$$ обозначает операцию побитового ИЛИ.
Входные данные

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

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

Гарантируется, что сумма длин самых длинных допустимых последовательностей не превышает $$$5\cdot 10^5$$$.

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

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

Пример
Входные данные
4
1
3
14
23
Выходные данные
1
1
3
1 2 3
4
4 10 12 14
5
7 18 21 22 23