PivotOJ

Sequence Construction

시간 제한: 2000ms메모리 제한: 2048MB출처: USACO 2025 Open SilverBOJ 33766

문제

Lately, the cows on Farmer John's farm have been infatuated with watching the show Apothecowry Dairies. The show revolves around a clever bovine sleuth CowCow solving problems of various kinds. Bessie found a new problem from the show, but the solution won't be revealed until the next episode in a week! Please solve the problem for her.

You are given integers MM and KK (1M109,1K31)(1 \leq M \leq 10 ^ 9, 1 \leq K \leq 31). Please choose a positive integer NN and construct a sequence aa of NN non-negative integers such that the following conditions are satisfied:

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

If no such sequence exists, print 1-1.

 popcount(x)\dagger \text{ popcount}(x) is the number of bits equal to 11 in the binary representation of the integer xx. For instance, the popcount of 1111 is 33 and the popcount of 1616 is 11.

\dagger \oplus is the bitwise xor operator.

The input will consist of TT (1T51031 \le T \le 5 \cdot 10^3) independent test cases.

입력

The first line contains TT.

The first and only line of each test case has MM and KK.

It is guaranteed that all test cases are unique.

출력

Output the solutions for TT test cases as follows:

If no answer exists, the only line for that test case should be 1-1.

Otherwise, the first line for that test case should be a single integer NN, the length of the sequence -- (1N1001 \le N \le 100).

The second line for that test case should contain NN space-separated integers that satisfy the conditions -- (0aiM0 \le a_i \le M).

예제

예제 1

입력
3
2 1
33 5
10 5
출력
2
2 0
3
3 23 7
-1
코드를 제출하려면 로그인하세요.