#include <iostream>
#include <vector>
using namespace std;

bool v[200000];

main ()

{
   int64_t n,k;

   cin >> n >> k;

   vector <long long> a;

   bool p= true;

   for (int i=0; i<n; i++)
   {
    int l; cin >> l;  if (l!=0) { if (l!=1) p = false; } a.push_back(l);
   }

   if (k==1)
   {
       bool g = false;
       for (int i=1; i<n; i++)
       {
           if (a[i]<a[i-1]) { g=true; a.erase(a.begin()+i-1); }
           if (g==true) break;

       }

       if (g==false)
       for (int i=1; i<n; i++)
           {


           if (a[i]==a[i-1])
           {
               int m = 1; int in = i;
               for (int j=i; j<n; j++)
               {
                   if (a[j]>m) { m=a[j]; in=j; }
               }
              g=true;
              a.erase(a.begin()+in);

           }
           if (g==false)
           {
              int m = 1; int in = i;
               for (int j=i; j<n; j++)
               {
                   if (a[j]>m) { m=a[j]; in=j; }
               }
              a.erase(a.begin()+in);
              g=true;
           }
           if (g==true) break;
       }



       for (int64_t i=0; i<a.size(); i++)
         cout << a[i] << " ";
   }

   else
   if (p==true)
   {
     int o[200000];

     for (int i=0; i<n; i++)
        o[i]=a[i];

      for (int i=0; i<n; i++)
    {
        if (k==0) break;

        if (o[i]==1) { v[i]=true; k--;}

        if (k==0) break;
    }


    if (k!=0)
    for (int i=0; i<n; i++)
    {
        if (k==0) break;

        if (o[i]==0) { v[i]=true; k--;}

        if (k==0) break;
    }
        for (int i=0; i<n; i++)
            if (v[i]==false) cout << o[i] << " ";

   }

}