#include <bits/stdc++.h>
using namespace std;
void print (vector<int> &arr){
int n = arr.size();
for(int i = 0; i < n; i++)
cout << arr[i] << " ";
}
int main() {
int n, k; cin >> n >> k;
vector<int> arr(n);
for(int i = 0; i < n; i++)
cin >> arr[i];
vector<int> pref(n);
pref[0] = 1;
for(int i = 1; i < n; i++){
if(arr[i] > arr[i-1])
pref[i] = pref[i+1];
else
pref[i] = 1;
if(pref[i] == k){
print(arr);
return 0;
}
}
vector<int> prefmin(n);
int temp = INT_MAX;
for(int i = n-1-k; i < n; i++){
temp = min(temp, arr[i]);
prefmin[i] = temp;
}
int lo = n-1-k;
int hi = n-1;
while(hi >= n-1-k && lo >= 0){
lo--;
hi--;
if(pref[n-2-k] >= (n-1-k)-lo){
if(arr[n-1-k] <= prefmin[hi]){
}
else{
lo++; hi++;
break;
}
}
lo++; hi++; break;
}
sort(arr.begin()+lo, arr.begin()+lo+k);
print(arr);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHByaW50ICh2ZWN0b3I8aW50PiAmYXJyKXsKCWludCBuID0gYXJyLnNpemUoKTsKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgljb3V0IDw8IGFycltpXSA8PCAiICI7Cn0KaW50IG1haW4oKSB7CglpbnQgbiwgazsgY2luID4+IG4gPj4gazsKCXZlY3RvcjxpbnQ+IGFycihuKTsKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgljaW4gPj4gYXJyW2ldOwoJCgl2ZWN0b3I8aW50PiBwcmVmKG4pOwoJcHJlZlswXSA9IDE7Cglmb3IoaW50IGkgPSAxOyBpIDwgbjsgaSsrKXsKCQlpZihhcnJbaV0gPiBhcnJbaS0xXSkKCQlwcmVmW2ldID0gcHJlZltpKzFdOwoJCWVsc2UKCQlwcmVmW2ldID0gMTsKCQkKCQlpZihwcmVmW2ldID09IGspewoJCQlwcmludChhcnIpOwoJCQlyZXR1cm4gMDsKCQl9Cgl9CgkKCXZlY3RvcjxpbnQ+IHByZWZtaW4obik7CglpbnQgdGVtcCA9IElOVF9NQVg7Cglmb3IoaW50IGkgPSBuLTEtazsgaSA8IG47IGkrKyl7CgkJdGVtcCA9IG1pbih0ZW1wLCBhcnJbaV0pOwoJCXByZWZtaW5baV0gPSB0ZW1wOwoJfQoJCglpbnQgbG8gPSBuLTEtazsKCWludCBoaSA9IG4tMTsKCXdoaWxlKGhpID49IG4tMS1rICYmIGxvID49IDApewoJCWxvLS07CgkJaGktLTsKCQkKCQlpZihwcmVmW24tMi1rXSA+PSAobi0xLWspLWxvKXsKCQkJaWYoYXJyW24tMS1rXSA8PSBwcmVmbWluW2hpXSl7CgkJCQkKCQkJfQoJCQllbHNlewoJCQkJbG8rKzsgaGkrKzsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJCWxvKys7IGhpKys7IGJyZWFrOwoJfQoJc29ydChhcnIuYmVnaW4oKStsbywgYXJyLmJlZ2luKCkrbG8rayk7CglwcmludChhcnIpOwoJcmV0dXJuIDA7Cn0=