#include<bits/stdc++.h>
using namespace std;
int n,c,flag[11000],a[11000],biao;
stack<long long>q;
int main()
{
cin>>n>>c;
for(int i=1;i<=n;i++)cin>>a[i];
int r=0;
q.push((long long)9999999999);
while(r<n)
{
r++;
c--;
if(c<0)
{
cout<<q.top()<<" ";
q.pop();
flag[biao]=1;
c=0;
for(int i=biao+1;i<=r;i++)
{
if(a[i]<q.top()&&!flag[i])
{
for(int j=biao+1;j<=i;j++)q.push(a[j]);
biao=i;
}
}
}
if(a[r]<q.top())
{
for(int i=biao+1;i<=r;i++)q.push(a[i]);
biao=r;
}
}
while(!q.empty())
{
if(q.top()!=9999999999)cout<<q.top()<<" ";
q.pop();
}
return 0;
}