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

Дан набор из $$$n$$$ ($$$n$$$ всегда равно степени $$$2$$$) элементов, содержащих все целые числа $$$0, 1, 2, \ldots, n-1$$$ единожды.

Найдите $$$\frac{n}{2}$$$ пар элементов таких, что:

  • Каждый элемент набора принадлежит ровно одной паре.
  • Сумма по всем парам побитового И элементов пары должна быть в точности равна $$$k$$$. Формально, если $$$a_i$$$ и $$$b_i$$$ — элементы $$$i$$$-й пары, то должно выполняться $$$$$$\sum_{i=1}^{n/2}{a_i \& b_i} = k,$$$$$$ где $$$\&$$$ обозначает операцию побитового И.

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

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

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

Каждый набор входных данных состоит из одной строки, содержащей два целых числа $$$n$$$ и $$$k$$$ ($$$4 \leq n \leq 2^{16}$$$, $$$n$$$ — степень $$$2$$$, $$$0 \leq k \leq n-1$$$).

Сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2^{16}$$$. Все наборы в каждом тесте будут различными.

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

Для каждого набора входных данных, если решения не существует, выведите одну строку, содержащую $$$-1$$$.

В противном случае выведите $$$\frac{n}{2}$$$ строк, $$$i$$$-я их них должна содержать $$$a_i$$$ и $$$b_i$$$ — элементы $$$i$$$-й пары.

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

Пример
Входные данные
4
4 0
4 1
4 2
4 3
Выходные данные
0 3
1 2
0 2
1 3
0 1
2 3
-1
Примечание

В первом наборе входных данных $$$(0\&3)+(1\&2) = 0$$$.

Во втором наборе $$$(0\&2)+(1\&3) = 1$$$.

В третьем наборе $$$(0\&1)+(2\&3) = 2$$$.

В четвертом наборе решения не существует.