#arc138d. [arc138_d]Differ by K bits
[arc138_d]Differ by K bits
题目描述
给定整数 和 。确定是否存在一种排列 ,满足下面的条件,并且如果存在,则构造出一种这样的序列。注意 是 开始的。
- 对于每个 (), 和 在二进制表示中恰好有 位不同。在比较之前,将两个整数都用 位进行零填充。
约束条件
- 输入中的所有值都是整数。
输入
输入以标准输入给出,格式如下:
输出
如果不存在满足条件的 ,则输出 No
。如果存在这样的 ,则以以下格式输出:
Yes
如果有多种满足条件的解答,任意输出一种即可。
示例输入 1
3 1
示例输出 1
Yes
0 1 3 2 6 7 5 4
这里, 的二进制表示为:。
例如,我们可以看到 和 在二进制表示中恰好有 位不同,满足 的条件。对于每个 都是如此。
示例输入 2
2 2
示例输出 2
No