#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;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmludCBtYWluKCkgewogICAgaW50IG47IC8vIHNpemUgb2YgYXJyYXkgYgogICAgY2luID4+IG47CgogICAgaW50IGJbbl07IC8vIGFycmF5IGIKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IGJbaV07CiAgICB9CgogICAgaW50IGs7IC8vIHZhbHVlIG9mIGsKICAgIGNpbiA+PiBrOwkKICAgIAoJcHJpb3JpdHlfcXVldWU8aW50PiBxOwoJCglmb3IoaW50IGkgPSAwO2kgPCBuO2krKykKCXsKCQlpZihxLmVtcHR5KCkgfHwgcS50b3AoKSA8PSBiW2ldKQoJCQlxLnB1c2goYltpXSk7CgkJZWxzZSBpZihiW2ldIDwgcS50b3AoKSkKCQl7CgkJCXdoaWxlKCFxLmVtcHR5KCkgJiYgcS50b3AoKSA+IGJbaV0pCgkJCXsKCQkJCXEucG9wKCk7CgkJCX0KCQkJcS5wdXNoKGJbaV0pOwoJCX0KCQlpZihxLnNpemUoKSA+IGspCgkJCXEucG9wKCk7CgkJLy8gY291dCA8PCBxLnRvcCgpIDw8IGVuZGw7CQoJfQogICAgdmVjdG9yPGludD4gYW5zOwoJd2hpbGUoIXEuZW1wdHkoKSkKCXsKCQlhbnMuaW5zZXJ0KGFucy5iZWdpbigpICsgMCwgcS50b3AoKSk7CgkJcS5wb3AoKTsKCX0KCWZvcihhdXRvIGkgOiBhbnMpCgkJY291dCA8PCBpIDw8ICIgIjsKICAgIHJldHVybiAwOwp9Cg==