AT_abc422_d [ABC422D] Least Unbalanced

Description

$ N $ を正整数とします。長さ $ 2^N $ の非負整数列 $ A=(A_1, A_2, \dots, A_{2^N}) $ の **アンバランスさ** を次の操作によって得られる非負整数値として定義します。 - はじめ、 $ X=0 $ とする。 - 次の一連の操作を $ N $ 回行う。 - $ X $ を $ \max(X, \max(A) - \min(A)) $ に更新する。ここで $ \max(A) $ および $ \min(A) $ は数列 $ A $ の最大値と最小値を意味する。 - 先頭から順に $ 2 $ つずつ要素を組にして、それらの和を並べることでできる長さが $ A $ の半分の数列を、新たな $ A $ とする。すなわち、 $ A \gets (A_1 + A_2, A_3 + A_4, \dots, A_{\vert A \vert - 1} + A_{\vert A \vert}) $ とする。 - 最終的な $ X $ をアンバランスさとする。 例えば $ N=2, A=(6, 8, 3, 5) $ は以下の手順によりアンバランスさが $ 6 $ であるとわかります。 - はじめ、 $ X=0 $ である。 - 1 回目の一連の操作は次の通りである。 - $ X $ を $ \max(X, \max(A) - \min(A)) = \max(0, 8 - 3) = 5 $ に更新する。 - $ A $ を $ (6+8, 3+5) = (14, 8) $ とする。 - 2 回目の一連の操作は次の通りである。 - $ X $ を $ \max(X, \max(A) - \min(A)) = \max(5, 14 - 8) = 6 $ に更新する。 - $ A $ を $ (14 + 8) = (22) $ とする。 - 最終的に $ X=6 $ となる。 非負整数 $ K $ が与えられます。長さ $ 2^N $ の非負整数列であって総和が $ K $ であるものの中で、アンバランスさが最小値を取る数列を構成してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $

Output Format

アンバランスさが最小値を取る数列を $ B=(B_1,B_2,\dots,B_{2^N}) $ とする。 $ B $ のアンバランスさを $ U $ とする。この時、以下の形式で答えを出力せよ。 > $ U $ $ B_1 $ $ B_2 $ $ \dots $ $ B_{2^N} $ 答えが複数ある場合は、どれを出力しても正答とみなされる。

Explanation/Hint

### Sample Explanation 1 $ (5, 6) $ はアンバランスさが $ 1 $ の数列で、これが条件を満たす数列のうちアンバランスさが最小の数列です。 ### Constraints - $ 1 \leq N \leq 20 $ - $ 0 \leq K \leq 10^9 $ - $ N, K $ は整数