牛牛的构造
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

请你给出一个长度为 n 的数组 a ,数组 a 中的数是 1n 的排列,即其中每个数的范围都是 ,且每个数各不相同。
同时使得这个数组恰好存在 k 个二元组 (i,j) ,满足
如果不存在一个数组满足条件,输出 -1,如果存在多个数组都满足条件,输出任意一个数组即可。
指 x 表示某个非负整数。

输入描述:

第一行输入两个整数 n,k

输出描述:

输出一行,一个长度为 n 满足条件的数组,两个数之间以一个空格分隔。
示例1

输入

复制
3 1

输出

复制
1 3 2

说明

1~3~2 这个数组仅存在一个二元组 (2,3) 满足条件。
a_2-a_3=2^0
示例2

输入

复制
1 100

输出

复制
-1