#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;
}