#18. A BIT of a Construction

A BIT of a Construction

题目描述

给定整数 nnkk ,构造一个由 nn 非负数(即 0≥0 )整数 a1,a2,...,ana_1,a_2,...,a_n 组成的序列,使得:

i=1nai=k\sum_{i=1}^n a_i=k
  1. 最大化 a1a2...ana_1|a_2|...|a_n 的二进制表示中 11 的个数,其中 | 表示位或运算。

输入格式

一行包含两个整数 nnk(1n2105,1k109)k(1 \leq n \leq 2*10^5,1\leq k \leq 10^9)---分别是要打印的非负整数个数和总和。

输出格式

输出满足上述条件的序列 a1,a2,...,ana_1,a_2,...,a_n

如果有多个解决方案,输出其中任何一个。

样例

样例输入 #1

1 5

样例输出 #1

5

样例输入 #2

2 3

样例输出 #2

1 2

样例输入 #3

6 51

样例输出 #3

3 1 1 32 2 12

提示

样例解释 11: 打印一个整数,因此只能输出 55 作为答案。

样例解释 22: 我们输出的 1,21,2 的总和为 33,而 12=(11)21|2=(11)_2 的二进制表示中有两个 11,这是我们在这些限制条件下所能达到的最大值。

样例解释 33: 我们输出了 3,1,1,32,2,123,1,1,32,2,12,总和为 515131132212=(101111)23|1|1|32|2|12=(101111)_2 的二进制表示中有五个 11,这是我们在这些限制条件下所能达到的最大值。