长度为 $n$ 的排列是一个包含 $1$ 到 $n$ 每个整数恰好一次的序列。对于长度为 $n$ 的排列 $p_1, p_2, \dots, p_n$,令 $q_i$ 表示数字 $i$ 出现的位置,即 $p_{q_i} = i$。如果对于每个 $i = 2, 3, \dots, n - 1$,都有 $(q_i - q_{i-1})(q_i - q_{i+1}) > 0$,则称该排列 $p_1, p_2, \dots, p_n$ 为转折排列(turning permutation)。
给定 $n$ 和 $k$,你需要找到长度为 $n$ 的字典序第 $k$ 小的转折排列,或者报告长度为 $n$ 的转折排列总数小于 $k$。
为了确定两个长度为 $n$ 的排列中哪一个字典序更小,我们比较它们的第一个元素。如果它们相等,则比较第二个,以此类推。对于两个不同的长度为 $n$ 的排列 $x$ 和 $y$,如果 $x_i < y_i$(其中 $i$ 是两个排列第一个不同的位置),则称 $x$ 的字典序小于 $y$。
输入格式
输入仅一行,包含两个整数 $n$ ($3 \le n \le 50$) 和 $k$ ($1 \le k \le 10^{18}$),分别表示排列的长度以及所求转折排列在所有长度为 $n$ 的转折排列按字典序排序后的排名。
输出格式
如果长度为 $n$ 的转折排列总数小于 $k$,则输出 $-1$。否则,输出长度为 $n$ 的字典序第 $k$ 小的转折排列,各数字间用空格隔开。
样例
样例输入 1
3 2
样例输出 1
2 1 3
样例输入 2
3 5
样例输出 2
-1
样例输入 3
4 6
样例输出 3
3 1 2 4
样例输入 4
4 11
样例输出 4
-1
说明
长度为 3 的转折排列共有 4 个,按字典序升序排列为:$[1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2]$。因此,对于第一个样例,字典序第 2 小的转折排列是 $[2, 1, 3]$;对于第二个样例,答案为 $-1$。
长度为 4 的转折排列共有 10 个,按字典序升序排列为:$[1, 3, 2, 4], [1, 3, 4, 2], [2, 1, 4, 3], [2, 4, 1, 3], [2, 4, 3, 1], [3, 1, 2, 4], [3, 1, 4, 2], [3, 4, 1, 2], [4, 2, 1, 3], [4, 2, 3, 1]$。因此,对于第三个样例,字典序第 6 小的转折排列是 $[3, 1, 2, 4]$;对于第四个样例,答案为 $-1$。