#include <bits/stdc++.h>
using namespace std;
#define pb push_back
const int N=500050;
int a[N];
set<pair<int,int> > st;
int main()
{
	int n,k,i;
	scanf("%i %i",&n,&k);
	k=n-k;
	for(i=1;i<=n;i++) scanf("%i",&a[i]);
	for(i=1;i<=n-k+1;i++) st.insert({a[i],i});
	vector<int> ans;
	int j=1;
	for(i=1;i<=k;i++)
	{
		pair<int,int> p=*st.begin();
		ans.pb(p.first);
		while(j<=p.second) st.erase({a[j],j}),j++;
		if(i!=k) st.insert({a[n-k+i+1],n-k+i+1});
	}
	for(i=0;i<ans.size();i++) printf("%i ",ans[i]);
	return 0;
}