#include<iostream>

using namespace std;

const int NMAX=500000;

struct Elem{
    int vred;
    Elem *napred;
    Elem *nazad;
    Elem(int v,Elem *nap=0,Elem*naz=0){
        vred=v;
        napred=nap;
        nazad=naz;
    }
};

Elem *bflist;
int n,k,x[NMAX];

void bffirst(Elem*&l){
    while((l->vred>l->napred->vred)&&(k>0)){
        Elem *l2=l;
        l=l->napred;
        l->nazad=0;
        delete l2;
        k--;
    }
}

void bfremove(Elem *&l){
    if(k!=0){
        if(l->nazad!=0){
            if(l->napred!=0){
                if(l->napred->vred<l->vred){
                    Elem *l2=l;
                    Elem *l1=l->napred;
                    l=l->nazad;
                    l->napred=l1;
                    k--;
                    delete l2;
                    bfremove(l);
                }
                else
                    bfremove(l->napred);
            }
        }
        else{
            bffirst(l);
            bfremove(l->napred);
        }
    }
}

void bfremove1(Elem *&l){
    if(k>0){
        if(l!=0){
            if(l->vred!=0){
                Elem *l2=l;
                Elem *l1=l->nazad;
                l=l->napred;
                l->nazad=l1;
                k--;
                delete l2;
                bfremove1(l);
            }
            else
                bfremove1(l->napred);
        }
    }
}

void bfremove2(Elem *&l){
    for(k;k>0;k--){
        Elem *l2=l;
        Elem*l1=l->nazad;
        l=l->napred;
        l->nazad=l1;
        delete l2;
    }
}

void bfoutput(Elem *l){
    if(l!=0){
        bfoutput(l->napred);
        cout<<l->vred<<" ";
    }
}

void bfinput(){
    bflist=0;
    cin>>n>>k;
    for(int i=0;i<n;i++)
        cin>>x[i];
    for(int i=n-1;i<n;i--){
        bflist=new Elem(x[i],bflist);
        bflist->napred->nazad=bflist;
    }
}

void bfcalculate(){
    bfremove(bflist);
    if(k>0)
        bfremove1(bflist);
    if(k>0)
        bfremove2(bflist);
}

void bfoutput(){
    bfoutput(bflist);
}

void BruteForce(){
    bfinput();
    bfcalculate();
    bfoutput();
}

void input(){

}

void calculate(){

}

void output(){

}

void run(){

}

int main(){
    BruteForce();
    return 0;
}