#include <bits/stdc++.h>

using namespace std;


int main() {
    int n; // size of array b
    cin >> n;

    int b[n]; // array b
    for (int i = 0; i < n; i++) {
        cin >> b[i];
    }

    int k; // value of k
    cin >> k;	
    
	priority_queue<int> q;
	
	for(int i = 0;i < n;i++)
	{
		if(q.empty() || q.top() <= b[i])
			q.push(b[i]);
		else if(b[i] < q.top())
		{
			while(!q.empty() && q.top() > b[i])
			{
				q.pop();
			}
			q.push(b[i]);
		}
		if(q.size() > k)
			q.pop();
		// cout << q.top() << endl;	
	}
    vector<int> ans;
	while(!q.empty())
	{
		ans.insert(ans.begin() + 0, q.top());
		q.pop();
	}
	for(auto i : ans)
		cout << i << " ";
    return 0;
}
