#219. 装饰围栏

装饰围栏

题目描述

N\red {N} 块长方形的木板,长度分别为1,2,,N\red {1,2,…,N},宽度都是1\red {1}

现在要用这 N\red {N} 块木板组成一个宽度为 N\red {N} 的围栏,满足在围栏中,每块木板两侧的木板要么都比它高,要么都比它低。

也就是说,围栏中的木板是高低交错的。

我们称“两侧比它低的木板”处于高位,“两侧比它高的木板”处于低位。

显然,有很多种构建围栏的方案。

每个方案可以写作一个长度为N\red N的序列,序列中的各元素是木板的长度。

把这些序列按照字典序排序,如下图所示,就是 N=4\red {N=4} 时,所有满足条件的围栏按照木板长度的字典序排序后的结果。

img

现在给定整数C\red {C},求排名为C\red {C}的围栏中,各木板的长度从左到右依次是多少。

输入格式

第一行包含整数K\red {K},表示一共有K\red {K}组数据。

接下来K\red {K}行,每行包含一组数据,包括两个整数N\red {N}C\red {C}

输出格式

每组数据输出一行结果,结果表示排名为C\red {C}的围栏中,各木板的长度从左到右排成的序列。

同行数据用空格隔开。

样例

输入样例

2
2 1
3 3

输出样例

1 2
2 3 1

提示

1N20\red {1≤N≤20},

0<C<263\red {0<C<2^{63}}