B. Битовая конструкция
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Даны целые неотрицательные числа $$$n$$$ и $$$k$$$. Постройте последовательность из $$$n$$$ целых неотрицательных (т.е. $$$\geq 0$$$) чисел $$$a_1, a_2, \ldots, a_n$$$ таких, что

  1. $$$\sum\limits_{i = 1}^n a_i = k$$$.
  2. Количество $$$1$$$ в двоичной записи числа $$$a_1 | a_2 | \ldots | a_n$$$ максимально, где $$$|$$$ обозначает операцию побитового ИЛИ.
Входные данные

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

Единственная строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \leq n \leq 2 \cdot 10^5$$$, $$$1 \leq k \leq 10^9$$$) — количество чисел в последовательности и сумму соответственно.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных выведите на отдельной строке последовательность $$$a_1, a_2, \ldots, a_n$$$, удовлетворяющую приведенным выше условиям.

Если существует несколько решений, выведите любое из них.

Пример
Входные данные
4
1 5
2 3
2 5
6 51
Выходные данные
5
1 2
5 0
3 1 1 32 2 12
Примечание

В первом наборе входных данных нам нужно вывести ровно одно число, поэтому в качестве ответа мы можем вывести только $$$5$$$.

Во втором наборе входных данных мы выводим $$$1, 2$$$. Они имеют сумму $$$3$$$, а $$$1 | 2 = (11)_2$$$ имеет две $$$1$$$ в двоичном представлении. Можно показать, что большего количества единиц достичь нельзя.

В четвертом наборе входных данных мы выводим $$$3, 1, 1, 32, 2, 12$$$, что в сумме составляет $$$51$$$, и $$$3 | 1 | 1 | 32 | 2 | 12 = (101\,111)_2$$$ имеет пять $$$1$$$ в двоичном представлении. Можно показать, что большего количества единиц достичь нельзя.