#include <bits/stdc++.h>

using namespace std;

struct node
{
    int inf;
    node *next;
    node *prev;
};

void print(node *a)
{
    if(a!=NULL)
    {
        cout<<a->inf<<" ";
        print(a->next);
    }
    else cout<<endl;
}

void push_node(node **a,int t)
{
    node *temp=new node;
    temp->inf=t;
    temp->next=NULL;
    (*a)->next=temp;
    (*a)->next->prev=(*a);
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    bool ok;
    node *a=new node;
    a->next=NULL;
    a->prev=NULL;
    node *temp=new node;
    node *temp1=new node;
    int n,k,i,t;
    cin>>n>>k;
    cin>>t;
    a->inf=t;
    temp=a;
    for(i=1;i<n;i++)
    {
        cin>>t;
        push_node(&temp,t);
        temp=temp->next;
    }
    ok=true;
    n=n-k;
    while(k>0 && ok)
    {
        temp=a;
        ok=false;
        while(temp->next!=NULL && temp->inf<=temp->next->inf) temp=temp->next;
        if(temp->next!=NULL)
        {
            if(temp->prev==NULL)
            {
                a=a->next;
                a->prev=NULL;
            }
            else
            {
                temp->next->prev=temp->prev;
                temp->prev->next=temp->next;
            }
            ok=true;
            k--;
        }
    }
    if(k>0)
    {
        temp=a;
        while(temp->next!=NULL) temp=temp->next;
        while(k>0)
        {
            k--;
            temp=temp->prev;
        }
        temp->next=NULL;
    }
    /*while(n>0)
    {
        cout<<a->inf<<" ";
        a=a->next;
        n--;
    }*/
    print(a);
    cout<<endl;
    return 0;
}