#include<bits/stdc++.h>
using namespace std;
int main() {
priority_queue<pair <int, string>, vector< pair <int, string> >, greater< pair <int, string> > > pq;
int n, k;
cin >> n >> k;
map<string, int> m;
for(int i = 0; i < n; i++){
//int x;
string x;
cin >> x;
if(m.find(x) != m.end()){
m[x] = m[x] + 1;
}
else{
m[x] = 1;
}
}
int i = 0;
for(auto it = m.begin(); it != m.end(); it++){
string s = it -> first;
int x = it -> second;
if(i < k){
pq.push(make_pair(x, s));
}
else{
pair <int, string> p = pq.top();
pq.pop();
int x1 = p.first;
string s1 = p.second;
if(x1 > x){
x = x1;
s = s1;
}
else if(x1 == x and s.compare(s1) > 0){
x = x1;
s = s1;
}
pq.push(make_pair(x, s));
}
i++;
}
stack<string> s;
while(!pq.empty()){
pair <int, string> p = pq.top();
pq.pop();
int x1 = p.first;
string s1 = p.second;
s.push(s1);
//cout << s1 << " ";
}
while(!s.empty()){
string s1 = s.top();
cout << s1 << " ";
s.pop();
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKSB7Cglwcmlvcml0eV9xdWV1ZTxwYWlyIDxpbnQsIHN0cmluZz4sIHZlY3RvcjwgcGFpciA8aW50LCBzdHJpbmc+ID4sIGdyZWF0ZXI8IHBhaXIgPGludCwgc3RyaW5nPiA+ID4gcHE7CglpbnQgbiwgazsKCWNpbiA+PiBuID4+IGs7CgltYXA8c3RyaW5nLCBpbnQ+IG07Cglmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKCQkvL2ludCB4OwoJCXN0cmluZyB4OwoJCWNpbiA+PiB4OwoJCWlmKG0uZmluZCh4KSAhPSBtLmVuZCgpKXsKCQkJbVt4XSA9IG1beF0gKyAxOwoJCX0KCQllbHNlewoJCQltW3hdID0gMTsKCQl9Cgl9CglpbnQgaSA9IDA7Cglmb3IoYXV0byBpdCA9IG0uYmVnaW4oKTsgaXQgIT0gbS5lbmQoKTsgaXQrKyl7CgkJc3RyaW5nIHMgPSBpdCAtPiBmaXJzdDsKCQlpbnQgeCA9IGl0IC0+IHNlY29uZDsKCQlpZihpIDwgayl7CgkJCXBxLnB1c2gobWFrZV9wYWlyKHgsIHMpKTsKCQl9CgkJZWxzZXsKCQkJcGFpciA8aW50LCBzdHJpbmc+IHAgPSBwcS50b3AoKTsKCQkJcHEucG9wKCk7CgkJCWludCB4MSA9IHAuZmlyc3Q7CgkJCXN0cmluZyBzMSA9IHAuc2Vjb25kOwoJCQlpZih4MSA+IHgpewoJCQkJeCA9IHgxOwoJCQkJcyA9IHMxOwoJCQl9CgkJCWVsc2UgaWYoeDEgPT0geCBhbmQgcy5jb21wYXJlKHMxKSA+IDApewoJCQkJeCA9IHgxOwoJCQkJcyA9IHMxOwoJCQl9CgkJCXBxLnB1c2gobWFrZV9wYWlyKHgsIHMpKTsKCQl9CgkJaSsrOwoJfQoJc3RhY2s8c3RyaW5nPiBzOwoJd2hpbGUoIXBxLmVtcHR5KCkpewoJCXBhaXIgPGludCwgc3RyaW5nPiBwID0gcHEudG9wKCk7CgkJcHEucG9wKCk7CgkJaW50IHgxID0gcC5maXJzdDsKCQlzdHJpbmcgczEgPSBwLnNlY29uZDsKCQlzLnB1c2goczEpOwoJCS8vY291dCA8PCBzMSA8PCAiICI7Cgl9Cgl3aGlsZSghcy5lbXB0eSgpKXsKCQlzdHJpbmcgczEgPSBzLnRvcCgpOwoJCWNvdXQgPDwgczEgPDwgIiAiOwoJCXMucG9wKCk7Cgl9CglyZXR1cm4gMDsKfQ==