# CodeChef: June Challenge | Optimal Xor Set OPTSET | Python, Java, C++ Solution

Find KK distinct numbers in the range such that the bitwise XOR of all the numbers is maximized. Print **any** set of these numbers that maximize the XOR.

Input

- The first line contains an integer TT, the number of test cases. Then the test cases follow.

- Each test case contains a single line of input, two integers NN, KK.

Output

For each test case, output KK distinct integers in any order as described in the problem.

Constraints

- 1≤T≤1041≤T≤104

- 1≤K≤N≤1061≤K≤N≤106

- The sum of NN over all queries is at most 4⋅1064⋅106.

- The sum of KK over all queries is at most 2⋅1062⋅106.

Subtasks

**Subtask #1 (5 points):**

- 1≤T≤501≤T≤50

- 1≤K≤N≤201≤K≤N≤20

**Subtask #2 (20 points):**

- 1≤T≤501≤T≤50

- 1≤K≤N≤2001≤K≤N≤200

- The sum of NN over all queries is at most 800800.

- The sum of KK over all queries is at most 400400.

**Subtask #3 (75 points):** original constraints

Sample Input

3

10 1

9 2

8 7

Sample Output

10

7 8

1 2 3 4 5 6 8

Explanation

**Test Case 1:** The only possible set is {10}{10} which gives the value 1010.

**Test Case 2:** The other possible set is {9,6}{9,6} which gives the value 9⊕6=15=7⊕89⊕6=15=7⊕8.

**Test Case 3:** The only possible set is {1,2,3,4,5,6,8}{1,2,3,4,5,6,8} which gives the value 1⊕2⊕3⊕4⊕5⊕6⊕8=151⊕2⊕3⊕4⊕5⊕6⊕8=15.

**Solution**

Due to copyright issues we won’t be able to update the solution here immediately. However you can **download the code file from our telegram channel**. So join our telegram channel for further updates. Keep tracking, the solution will be updated on this website soon.

*Read more post** Here*