年轻的 Jozef 收到了一份礼物,是一个由 $2^N$ 个正整数组成的集合。考虑到 Jozef 经常参加足球比赛,他决定为这 $2^N$ 个正整数组织一次锦标赛。
数字锦标赛的示意图如下;比赛两两对决,两个数中较大的那个晋级到上一轮(更高级别)。级别用 $1$ 到 $N$ 的数字表示,其中最高级别(即冠军)的编号为 $0$。
由于 Jozef 没有时间组织所有可能的比赛,他想知道,对于初始集合中的每个数,在输入数组的所有可能排列中,该数字最终能达到的最高级别(即最小的级别编号)是多少。
输入格式
输入的第一行包含一个正整数 $N$ ($1 \le N \le 20$)。
第二行包含 $2^N$ 个范围在 $[1, 10^9]$ 内的正整数,表示集合中的元素。
输出格式
输出的第一行也是唯一的一行应当包含 $2^N$ 个整数,依次表示输入中每个数能达到的最高级别(最小级别编号),顺序与输入中给出的顺序相同。
样例
输入样例 1
2 1 4 3 2
输出样例 1
2 0 1 1
输入样例 2
4 5 3 2 6 4 8 7 1 2 4 3 3 6 4 8 1
输出样例 2
1 2 2 1 1 0 1 3 2 1 2 2 1 1 0 3
输入样例 3
1 1 1
输出样例 3
0 0