#XMOJ11383. 近似完全二叉树

近似完全二叉树

说明

时间限制:1 Sec 内存限制:256 MB 输入文件tree.in 输出文件tree.out

近似完全二叉树是指由 $2^K - 1$ 个结点构成的二叉树,且树的高度满足 $K \le h \le 3K$。

这里的高度定义为:每条边长度为 $1$ 时,从根结点到最远结点的距离。

今天你需要构造一棵这样的近似完全二叉树。

构造规则由排列 $P_1,P_2,\dots,P_{2^K-1}$ 决定,该排列是 $\{1,2,\dots,2^K-1\}$ 的一个重排。

具体构造方式为:从空二叉搜索树 $T$ 开始,按顺序依次插入 $P_1,P_2,\dots,P_{2^K-1}$。

向二叉搜索树 $G$ 中插入值 $v$ 的规则递归定义如下:

- 如果 $G$ 为空,则令 $v$ 为 $G$ 的根。

- 如果 $G$ 非空,则将 $v$ 与根结点的值比较:若 $v$ 更小,则插入左子树;否则插入右子树。


以 $K=2$ 为例:

- 由排列 $(1,3,2)$ 得到的二叉树高度为 $2$,是近似完全二叉树。

- 由排列 $(2,1,3)$ 得到的二叉树高度为 $1$,不是近似完全二叉树。


请你构造任意一个满足条件的排列 $P$,使得按上述规则生成的二叉搜索树 $T$ 是近似完全二叉树。

题目保证至少存在一个解。

输入格式

一行一个整数 $K$。

输出格式

输出一行,用空格分隔的排列 $P$,满足题目要求。

只要符合条件,任意输出一个解均可。

样例

样例 1

2

1 3 2

样例说明:

满足条件的排列共有 44 个:(1,2,3),(1,3,2),(3,1,2),(3,2,1)(1,2,3),(1,3,2),(3,1,2),(3,2,1),它们构造出的树高度均为 22

(2,3,1),(2,1,3)(2,3,1),(2,1,3) 构造出的树高度为 11,不满足条件。

样例 2

3

5 3 2 4 1 6 7

数据范围

对于 100% 的数据,$2 \le K \le 13$。