又是一年一度的校园歌手大赛,今年一共有 2^n 个选手参与了比赛,分别编号为 0\sim 2^n-1 ,每个人的唱功可以用数字 a_i 来量化,保证 a_0\sim a_{2^n-1} 互不相同。
今年赛事委员吸取了上一年的教训,采用了以下的赛制:
* 比赛共有 n 轮,在第 i 轮,编号在 0\sim 2^i-1 内未淘汰的选手会分在第 1 组,2^i\sim 2\times 2^i-1 内未淘汰的选手会分在第 2 组。依次类推。
* 每一组选手会通过一轮合唱决出组内的排名(即按 a_i 从大到小给选手排序),排名在第 k 名之后的选手淘汰( k 在最开始给定,若该组人数小于等于 k ,则无人淘汰)。
* 记第 i 轮后未淘汰的总人数为 t,则第 i 轮淘汰的所有选手的最终名次就是 t+1 。
n 轮之后会剩下一组未淘汰的选手,对于他们的,每一个选手的最终名次就是其在这个组内的排名。
小 C 对最终每个选手的名次很好奇,你能帮帮他求出每个选手最终的名次吗。
第 1 行包含两个正整数 n,k。
第 2 行为 2^n 个互不相同的正整数,分别表示 a_0,a_1,\sim a_{2^n-1} 。
输出一行 2^n 个整数,第 i 个整数表示编号为 i-1 的选手的最终名次。
3 2 1 7 3 2 8 5 6 4
5 2 3 5 1 5 3 5
样例解释
第一轮之后:[1,7\ |\ 3,2\ |\ 8,5\ |\ 6,4]
第二轮之后:[\times,7,3,\times\ |\ 8,\times,6,\times](\times 表示淘汰)
第三轮之后:[\times,7,\times,\times,8,\times,\times,\times]
数据范围
对于所有数据 n\le 20,1\le k\le 2^n,1\le a_i\le 10^9 ,保证 a_0,a_1,...,a_{2^n-1} 互不相同。
| 测试点 | n\le | k\le |
| ----------- | ------ | ------- |
| 1\sim 3 | n=3 | 无限制 |
| 4\sim 7 | 17 | k=2^n |
| 8\sim 10 | 17 | 1 |
| 11\sim 13 | 17 | 2 |
| 14\sim 16 | 17 | 无限制 |
| 17\sim 20 | 无限制 | 无限制 |
时间限制 | 1 秒 |
内存限制 | 512 MB |