AT_ttpc2023_j Set Construction

Description

$ 2 $ 以上の整数 $ N $ と、 $ 2 $ 以上 $ \frac{N(N+1)}{2} $ 以下の整数 $ M $ が与えられます。非負整数からなる集合 $ A $ であって、以下の条件をすべて満たすものが存在するので、それを $ 1 $ つ構築してください。 - $ 0 \in A $ - $ 2^N - 1 \in A $ - **集合 $ A $ の要素はすべて $ 0 $ 以上 $ 2^N - 1 $ 以下の非負整数である(16:08 修正)** - $ x, y \in A $ ならば $ x ~ \mathrm{AND} ~ y \in A $ - $ x, y \in A $ ならば $ x ~ \mathrm{OR} ~ y \in A $ - $ A $ の要素数 $ |A| $ は $ M $ に等しい $ T $ 個のテストケースが与えられるので、それぞれについて答えてください。 $ \mathrm{AND} $ とは 非負整数 $ n, m $ の bit ごとの論理積 $ n ~ \mathrm{AND} ~ m $ は、以下のように定義されます。 - $ n ~ \mathrm{AND} ~ m $ を二進表記した際の $ 2^k ~ (k \geq 0) $ の位の数は、 $ n,m $ を二進表記した際の $ 2^k $ の位の数のうち両方が $ 1 $ であれば $ 1 $ 、そうでなければ $ 0 $ である。 $ \mathrm{OR} $ とは 非負整数 $ n, m $ の bit ごとの論理和 $ n ~ \mathrm{OR} ~ m $ は、以下のように定義されます。 - $ n ~ \mathrm{OR} ~ m $ を二進表記した際の $ 2^k ~ (k \geq 0) $ の位の数は、 $ n,m $ を二進表記した際の $ 2^k $ の位の数のうちいずれか(両方でもよい)が $ 1 $ であれば $ 1 $ 、そうでなければ $ 0 $ である。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $ $ \text{case}_i\ (1 \leq i \leq T) $ は $ i $ 番目のテストケースを表す。各テストケースは以下の形式で与えられる。 > $ N $ $ M $

Output Format

$ T $ 行出力せよ。 $ i $ 行目 $ (1 \leq i \leq T) $ には、 $ i $ 番目のテストケースにおいて、問題文の条件をすべて満たす非負整数からなる集合 $ A $ の、相異なる $ M $ 個の要素を $ x_1, x_2, \dots, x_M $ として、以下の形式で出力せよ。 > $ x_1 $ $ x_2 $ $ \cdots $ $ x_M $ $ x_1, x_2, \dots, x_M $ は昇順でなくても構わない。 なお、この制約下で答えが必ず存在することが証明できる。

Explanation/Hint

### 部分点 - 追加の制約 $ N \leq 5 $ を満たすデータセットに正解した場合は $ 25 $ 点が与えられる。 ### Sample Explanation 1 $ 1 $ 番目のテストケースにおいて、 $ A = \{0, 1, 3, 5, 7\} $ とすると、問題文の条件をすべて満たします。例えば、 $ 3 ~ \mathrm{AND} ~ 5 = 1 \in A $ 、 $ 3 ~ \mathrm{OR} ~ 5 = 7 \in A $ となります。 条件を満たす $ A $ なら何でもよく、以下の出力も認められます。出力する要素が昇順でなくても構いません。 ``` 7 1 4 0 5 ``` 以下の出力は認められません。 $ 0 \not \in A $ であるためです。 ``` 1 2 3 5 7 ``` 以下の出力は認められません。 $ 3, 5 \in A $ である一方、 $ 3 ~ \mathrm{AND} ~ 5 = 1 \not \in A $ であるためです。 ``` 0 3 4 5 7 ``` また、以下の出力も認められません。集合は多重集合ではないことに注意してください。 ``` 7 7 7 0 0 ``` $ 3 $ 番目のテストケースにおいて、出力が 32bit 整数型に収まらない場合があることに注意してください。また、入出力例は部分点の制約を満たさないことに注意してください。 ### Constraints - $ 1 \leq T \leq 30 $ - $ 2 \leq N \leq 60 $ - $ 2 \leq M \leq \frac{N(N+1)}{2} $ - 入力はすべて整数