#P6002. 比赛2

比赛2

比赛2(gaming)

题面描述

又是一年一度的校园歌手大赛,今年一共有 2n2^n 个选手参与了比赛,分别编号为 02n10\sim 2^n-1 ,每个人的唱功可以用数字 aia_i 来量化,保证 a0a2n1a_0\sim a_{2^n-1} 互不相同。

今年赛事委员吸取了上一年的教训,采用了以下的赛制:

  • 比赛共有 nn 轮,在第 ii 轮,编号在 02i10\sim 2^i-1 内未淘汰的选手会分在第 11 组,2i2×2i12^i\sim 2\times 2^i-1 内未淘汰的选手会分在第 22 组。依次类推。
  • 每一组选手会通过一轮合唱决出组内的排名(即按 aia_i 从大到小给选手排序),排名在第 kk 名之后的选手淘汰( kk 在最开始给定,若该组人数小于等于 kk ,则无人淘汰)。
  • 记第 ii 轮后未淘汰的总人数为 tt,则第 ii 轮淘汰的所有选手的最终名次就是 t+1t+1

nn 轮之后会剩下一组未淘汰的选手,对于他们的,每一个选手的最终名次就是其在这个组内的排名。

小 C 对最终每个选手的名次很好奇,你能帮帮他求出每个选手最终的名次吗。

输入格式

11 行包含两个正整数 n,kn,k

22 行为 2n2^n 个互不相同的正整数,分别表示 a0,a1,a2n1a_0,a_1,\sim a_{2^n-1}

输出格式

输出一行 2n2^n 个整数,第 ii 个整数表示编号为 i1i-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][1,7\ |\ 3,2\ |\ 8,5\ |\ 6,4]

第二轮之后:[×,7,3,×  8,×,6,×][\times,7,3,\times\ |\ 8,\times,6,\times]×\times 表示淘汰)

第三轮之后:[×,7,×,×,8,×,×,×][\times,7,\times,\times,8,\times,\times,\times]

数据范围

对于所有数据 n20,1k2n,1ai109n\le 20,1\le k\le 2^n,1\le a_i\le 10^9 ,保证 a0,a1,...,a2n1a_0,a_1,...,a_{2^n-1} 互不相同。

测试点 nn\le kk\le
131\sim 3 n=3n=3 无限制
474\sim 7 1717 k=2nk=2^n
8108\sim 10 11
111311\sim 13 22
141614\sim 16 无限制
172017\sim 20 无限制