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

Акито все еще негде жить, а за комнатушку везде берут свою цену. По этой причине Акито решил устроиться в банк создателем ключей к хранилищам.

В этом магическом мире все по-другому. Например, ключом от хранилища с кодом $$$(n, x)$$$ является массив $$$a$$$ длины $$$n$$$ такой, что:

  • $$$a_1 \ | \ a_2 \ | \ a_3 \ | \ \ldots \ | \ a_n = x$$$, где $$$a \ | \ b$$$ — битовое «ИЛИ» чисел $$$a$$$ и $$$b$$$.
  • $$$\text{MEX}(\{ a_1, a_2, a_3, \ldots, a_n \})$$$$$$^{\text{∗}}$$$ максимален среди всех таких массивов.

Акито исправно выполнял свою работу несколько часов, но вдруг у него заболела голова. Подмените его на часик, для данных $$$n$$$ и $$$x$$$ создайте любой ключ к хранилищу с кодом $$$(n, x)$$$.

$$$^{\text{∗}}$$$$$$\text{MEX}(S)$$$ — минимальное неотрицательное целое число $$$z$$$ такое, что $$$z$$$ не содержится в множестве $$$S$$$ и все $$$0 \le y < z$$$ содержатся в $$$S$$$.

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

В первой строке вводится число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов данных.

В единственной строке каждого набора данных вводятся два числа $$$n$$$ и $$$x$$$ ($$$1 \le n \le 2 \cdot 10^5, 0 \le x < 2^{30}$$$) — длина массива и нужное значение битового «ИЛИ».

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

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

Для каждого набора требуется вывести $$$n$$$ целых чисел $$$a_i$$$ ($$$0 \le a_i < 2^{30}$$$) — элементы массива-ключа, который удовлетворяет всем условиям.

Если существует несколько подходящих массивов, выведите любой из них.

Пример
Входные данные
9
1 69
7 7
5 7
7 3
8 7
3 52
9 11
6 15
2 3
Выходные данные
69
6 0 3 4 1 2 5
4 1 3 0 2
0 1 2 3 2 1 0
7 0 6 1 5 2 4 3
0 52 0
0 1 8 3 0 9 11 2 10
4 0 3 8 1 2
0 3