小红走排列
题号:NC253455
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

对于一个排列,小红定义该排列的总消耗为:1走到2,2走到3,……,最终从n-1走到n所需的最少的总步数。其中,每一步可以向左走一步,也可以向右走一步。
现在,小红只记得排列的大小n和走的步数k,但不记得排列的构造情况了。请你帮小红还原整个排列。

输入描述:

两个正整数nk,用空格隔开。
1\leq n \leq 10^5
n-1 \leq k \leq n*(n-1)/2

输出描述:

如果无解,请输出-1。
否则输出构造的排列。有多解时输出任意即可。
示例1

输入

复制
3 2

输出

复制
1 2 3

说明

小红从1号开始,向右跳两步即可先跳到2,再跳到3。
输出[3,2,1]这个排列也符合要求。

示例2

输入

复制
4 6

输出

复制
1 3 4 2