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

У Пикачу есть массив. Он выписал все непустые подпоследовательности своего массива на бумажный лист. Обратите внимание, что у массива длины n есть 2n - 1 непустых подпоследовательностей.

Пикачу всегда был озорным, поэтому он удалил все подпоследовательности, в которых Максимальный_элемент_подпоследовательности  -  Минимальный_элемент_подпоследовательности  ≥ d

В итоге, у Пикачу осталось X подпоследовательностей.

Но Пикачу случайно потерял свой массив и сейчас у Пикачу из-за этого серьезные проблемы. Он до сих пор помнит числа X и d и хочет построить любой массив, который удовлетворяет описанным условиям. Все числа в его новом массиве должны быть целыми, положительными и должны быть меньше, чем 1018.

Обратите внимание, что количество элементов в выведенном массиве не должно превышать 104. Если невозможно построить ни одного такого массива, выведите  - 1.

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

В единственной строке следуют два целых числа X и d (1 ≤ X, d ≤ 109).

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

Выведите две строки.

В первой строке должно содержаться целое число n (1 ≤ n ≤ 10 000)— количество элементов в новом массиве Пикачу.

Во второй строке должно содержаться n целых чисел через пробел — a1, a2, ... , an (1 ≤ ai < 1018).

Если ответа не существует, выведите одно число -1. Если существуют несколько ответов, выведите любой.

Примеры
Входные данные
10 5
Выходные данные
6
5 50 7 15 6 100
Входные данные
4 2
Выходные данные
4
10 100 1000 10000
Примечание

В первом тестовом примере, подпоследовательности, оставшиеся при удалении всех подпоследовательностей, в которых Максимальный_элемент_подпоследовательности  -  Минимальный_элемент_подпоследовательности  ≥ 5 это [5], [5, 7], [5, 6], [5, 7, 6], [50], [7], [7, 6], [15], [6], [100]. Этих подпоследовательностей ровно 10. Таким образом, массив [5, 50, 7, 15, 6, 100] подходит.

Похожим образом, во втором тестовом примере, подпоследовательности, оставшиеся при удалении всех подпоследовательностей, в которых Максимальный_элемент_подпоследовательности  -  Минимальный_элемент_подпоследовательности  ≥ 2 это [10], [100], [1000], [10000]. Этих подпоследовательностей ровно 4. Таким образом, массив [10, 100, 1000, 10000] подходит.