#include <iostream>
#include <stdio.h>

using namespace std;
int niz[5000000];
int nz[500000];
int n,k;
void ispis(int i)
{
    for(int j=0;j<n;j++)
    {
        if(nz[j]) printf("%d ",niz[j]);
        else if(j>=i) printf("%d ",niz[j]);
    }
}
int mini(int ind,int k)
{int m=niz[ind],minii=ind;
if(k==0) ispis(ind);
   else { for(int j=ind;j<ind+k+1;j++)
    {
        if(niz[j]<m) {m=niz[j]; minii=j;}
    }
    nz[minii]=1;
    mini(minii+1,k-minii+ind);}

}
int main()
{ int nn=0,br1=0;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
{
    scanf("%d",&niz[i]);
    if(niz[i]!=1 && niz[i]!=0) nn=1;
}
if(nn) mini(0,k);
else {for(int i=0;i<n;i++)
    {
        if(niz[i]) br1++;

    }
    if(br1>k){for(int i=0;i<n;i++)
    {
        if(niz[i] && k) k--;
        else printf("%d ",niz[i]);
    }}
    else for(int i=0;i<n-k;i++)
    {
        printf("0 ");
    }

    }


    return 0;
}