#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int q[N],cnt;
void down(int u)
{
int t=u;
if(u*2<=cnt&&q[u*2]<q[t])t=u*2;
if(u*2+1<=cnt&&q[u*2+1]<q[t])t=u*2+1;
if(u!=t)
{
swap(q[u],q[t]);
down(t);
}
}
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)scanf("%d",&q[i]);
cnt=n;
for(int i=n/2;i;i--)down(i);
while(m--)
{
printf("%d ",q[1]);
q[1]=q[cnt--];
down(1);
}
}