#include <bits/stdc++.h>
#define MAXN 500100

using namespace std;

long long a[MAXN];
int n,k;
stack<int> res1,res;

void citaj(){
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
    }
}
void pisi1(){
    for(int i=1;i<=n;i++){
        printf("%d ",a[i]);
    }
}
void radi(){
    if(k==0){
        pisi1();
        return;
    }
    int t=n+1;
    for(int i=1;i<=n;i++){
        while(!res1.empty()&&res1.top()>a[i]){
            res1.pop();
            k--;
            if(k==0){
                //cout<<res1.top()<<a[i]<<endl;
                res1.push(a[i]);
                t=i+1;
                i=n+1;
                break;
            }
        }
        if(i==n+1)
            break;
        res1.push(a[i]);
    }
    while(t<=n){
        res1.push(a[t++]);
    }
    while(k>0){
        res1.pop();
        k--;
    }
    while(!res1.empty()){
        res.push(res1.top());
        res1.pop();
    }
}
void pisi(){
    while(!res.empty()){
        cout<<res.top()<<" ";
        res.pop();
    }
}
int main()
{
    citaj();
   // cout<<"*";
    radi();
    pisi();
    return 0;
}
/*
8 3
6 0 3 1 4 2 1 7
*/