#include <iostream>
#include <bits/stdc++.h>

using namespace std;
long long int niz[500001];
int pozmin(int i,int interval)
{
    int minimum=niz[i],poz=i,inter=interval+i-1;
    for (int j=i+1;j<=inter;j++)
    {
        if (niz[j]<minimum)
        {
            poz=j;
            minimum=niz[j];
        }
    }
    return poz;
}

int main()
{
    std::ios_base::sync_with_stdio(true);
    //ios::sync_with_stdio(true);
    int n,k,br;
    bool dalije01=true;
    cin >> n >> k;
    br=k+1;
    for (int i=0;i<n;i++)
    {
        cin >> niz[i];
        if (niz[i]!=0 && niz[i]!=1) dalije01=false;
    }
    if (dalije01==true)
    {
        int brojac=k,clanovi=0;
        for (int l=0;l<n;l++)
        {
            if (niz[l]==1&&brojac>0) {
                    brojac--;
                    continue;}
            cout << niz[l] << " ";
            clanovi++;
            if (clanovi==n-k) break;

        }
    }

    else {
    for (int d=0;d<n;)
    {
        if (br==1)break;
        int tr=pozmin(d,br);
        for (int p=d;p<tr;p++)
        {
            niz[p]=-1;
        };
        br=br-(tr-d);
        d=tr+1;
    }
    /*if (br!=1)
    {
        for (int g=0;g<br-1;g++)
        {
            niz[n-1-g]=-1;
        }
    }*/
    int clanovi=0;
    for (int f=0;f<n;f++)
    {
        if (niz[f]!=-1)
        {
            cout << niz[f] << " " ;
            clanovi++;
            if(clanovi==n-k) break;
        }
    }}
    return 0;
}