#C16. 比赛

比赛

题目描述

又是一年一度的中秋灯笼制作大赛,今年一共有 2n2^n 个参赛者参与了比赛,分别编号为 02n10∼2^n−1。每个参赛者的灯笼设计质量可以用一个数字 aia_i来量化,保证 a0a2n1a_0∼a_{2n−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} 互不相同。