# 排序集合

## 题目描述

对于集合 $N=\{1,2,\cdots,n\}$ 的子集，定义一个称之为“小于”的关系：

设 $S1=\{X_1,X_2,\cdots,X_i\}$，$(X_1<X_2<\cdots<X_i)$，$S2=\{Y_1,Y_2,\cdots,Y_j\}$，$(Y_1<Y_2<\cdots<Y_j)$，如果存在一个 $k$，$(0\leq k\leq\min(i,j))$，使得 $X_1=Y_1,\cdots,X_k=Y_k$，且 $k=i$ 或 $X_{k+1}<Y_{k+1}$，则称 $S1$ “小于” $S2$。

你的任务是，对于任意的 $n(n\leq31)$ 及 $k(k<2^n)$，求出第 $k$ 小的子集。

## 输入格式

输入文件仅一行，包含两个用空格隔开的自然数，$n$ 和 $k$。

## 输出格式

输出文件仅一行，使该子集的元素，由小到大排列。空集输出 $0$。

## 样例 #1

### 样例输入 #1

```
3 4
```

### 样例输出 #1

```
1 2 3
```