Описание

Ограничение по времени: 500 ms
Ограничение по памяти: 256 Mb

Ответы на вопросы

Задача: Sequence Construction

Вам даны целые числа \(M\) и \(K\) \((1 \leq M \leq 10 ^ 9, 1 \leq K \leq 31)\). Выберите положительное целое \(N\) и сконструируйте последовательность \(a\) из \(N\) неотрицательных целых чисел так, чтобы выполнялись следующие условия:

  • \(1 \le N \le 100\)
  • \(a_1 + a_2 + \dots + a_N = M\)
  • \(\text{popcount}(a_1) \oplus \text{ popcount}(a_2) \oplus \dots \oplus \text{ popcount}(a_N) = K\)

Если такой последовательности не существует, выведите \(-1\).

\(\dagger \text{ popcount}(x)\) это количество \(1\) в двоичном представлении числа \(x\). Например, popcount от \(11\) это \(3\), а popcount от \(16\) это \(1\).

\(\dagger \oplus\) это оператор побитового XOR.

Ввод содержит \(T\) (\(1 \le T \le 5 \cdot 10^3\)) независимых подтестов.

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит \(T\).

Первая и единственная строка каждого подтеста содержит \(M\) и \(K\).

Гарантируется, что все тесты уникальны.

ФОРМАТ ВЫВОДА (на экран / stdout):

Выведите решения для всех \(T\) подтестов таким образом:

Если ответ не существует выведите \(-1\).

Иначе, первая строка для подтеста должна содержать \(N\), длина последовательности -- (\(1 \le N \le 100\)).

Вторая строка для этого подтеста должна содержать \(N\) разделённых пробелом целых чисел, которые удовлетворяют условиям -- (\(0 \le a_i \le M\)).


Прикрепите файл с исходным кодом программы:
     
или введите исходный код на языке:


Правила оформления программ и список ошибок при автоматической проверке задач
           

Ваш ответ:

Загруженные файлы:


Нет

Примечание учителя: