#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
struct me{
int id;
int num;
};
//排序,降序,相同则id小排前面
bool compare_arr(const me& a, const me& b){
if(a.num!=b.num){
return a.num > b.num;
}
else{
return a.id < b.id;
}
}
int main() {
int N;
cin >> N;
map<int, int> memory;
int id;
for(int i = 0; i < N;i++){
cin >> id;
memory[id]++;
}
int limit;
cin >> limit;
vector<me> arr;
for(auto& it : memory){
if(it.second >= limit){//符合条件的压入数组中
arr.push_back({it.first, it.second});
}
}
sort(arr.begin(),arr.end(),compare_arr);
for(int i = 0; i < arr.size(); i++){
cout << arr[i].id << endl;
}
return 0;
}