#include <bits/stdc++.h>
using namespace std;
int n, c, a;
vector<int> v;
map<int, int> mp;
map<int, int> mp2;
bool cmp(int a, int b){
if(mp2[a] == mp2[b]) return mp[a] < mp[b];
return mp2[a] > mp2[b];
}
int main(){
cin >> n >> c;
for(int i = 0; i < n; i++){
cin >> a;
v.push_back(a);
if(mp[a] == 0) mp[a] = i;
mp2[a]++;
}
sort(v.begin(), v.end(), cmp);
for(int i = 0; i < n; i++){
cout << v[i] << ' ';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuLCBjLCBhOwp2ZWN0b3I8aW50PiB2OwptYXA8aW50LCBpbnQ+IG1wOwptYXA8aW50LCBpbnQ+IG1wMjsKCmJvb2wgY21wKGludCBhLCBpbnQgYil7CiAgICBpZihtcDJbYV0gPT0gbXAyW2JdKSByZXR1cm4gbXBbYV0gPCBtcFtiXTsKICAgIHJldHVybiBtcDJbYV0gPiBtcDJbYl07Cn0KCmludCBtYWluKCl7CiAgICBjaW4gPj4gbiA+PiBjOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICAgY2luID4+IGE7CiAgICAgICAgdi5wdXNoX2JhY2soYSk7CiAgICAgICAgaWYobXBbYV0gPT0gMCkgbXBbYV0gPSBpOwogICAgICAgIG1wMlthXSsrOyAgICAgICAgCiAgICB9CiAgICBzb3J0KHYuYmVnaW4oKSwgdi5lbmQoKSwgY21wKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGNvdXQgPDwgdltpXSA8PCAnICc7CiAgICB9Cn0=