#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;
    }
};

struct S{
    int v,p;
    bool ind;
};

struct ST{
    int poc,kraj,v,p;
};

//Elem *bflist;
int n,k;
//int x[NMAX];
S s[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(){
    cin>>n>>k;
    cin>>s[0].v;
    s[0].p=-1;
    s[0].ind=1;
    for(int i=1;i<n;i++){
        cin>>s[i].v;
        s[i].p=i-1;
        s[i].ind=1;
    }
}

void remove1(){
    for(int i=1;i<n;i++){
        int p=s[i].p;
        while((p!=-1)&&(s[p].v>s[i].v)&&(k>0)){
            s[p].ind=0;
            p=s[p].p;
            k--;
        }
        s[i].p=p;
    }
}

void remove22(){
    int maxi=0;
    int p=-1;
    for(int i=0;i<n;i++){
        if(s[i].ind){
            maxi=s[i].v;
            p=i;
        }
    }
    for(int i=0;i<n;i++){
        if(s[i].v>maxi && s[i].ind){
            maxi=s[i].v;
            p=i;
        }
    }
    while(maxi>0&&k>0){
        s[p].ind=0;
        k--;
        maxi=0;
        for(int i=0;i<n;i++){
            if(s[i].ind){
                maxi=s[i].v;
                p=i;
            }
        }       
        for(int i=0;i<n;i++){
            if(s[i].v>=maxi && s[i].ind){
                maxi=s[i].v;
                p=i;
            }
        }
    }
}

void remove2(){
    int m,r;
    for(int i=0;i<n;i++)
        if(!s[i].ind)
            s[i].v=0;
    for(m=1,r=0;m<=n;m<<=1,r++);
    m--;
    ST stabl[m];

    int i;
    for(int i=0;i<m;i++){
        stabl[i].v=0;
        stabl[i].poc=stabl[i].p=stabl[i].kraj=-1;
    }
    for(i=m-1;i>m-n+r-1;i--){
        stabl[i].v=0;
        stabl[i].p=r-(m-i-1);
        stabl[i].poc=stabl[i].kraj=stabl[i].p;
    }
    for(i;i>m-r-1;i--){
        stabl[i].v=s[i-(m-r-1)-1].v;
        stabl[i].p=i-(m-r-1)-1;
        stabl[i].poc=stabl[i].kraj=stabl[i].p;
    }
    cout<<r;
    for(int i=0;i<m;i++){
        cout<<stabl[i].p;
    }
}

void calculate(){
    remove1();
    //remove2();
    remove22();
}

void output(){
    if(k>0)
        for(int i=0;i<n-k;i++)
            cout<<"0 ";
    else
        for(int i=0;i<n;i++)
            if(s[i].ind)
                cout<<s[i].v<<" ";
}

void run(){
    input();
    calculate();
    output();
}

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