#include <bits/stdc++.h>
using namespace std;
bool cmp(pair<int,int> p1,pair<int,int> p2){
if(p1.second==p2.second)
return p1.first<p2.first;
return p1.second>p2.second;
}
int main() {
int a[]={5,5,4,6,4};
unordered_map<int,int> freq;
for(auto x: a){
freq[x]++;
}
vector<pair<int,int>> v;
for(auto x:freq){
v.push_back(make_pair(x.first,x.second));
}
sort(v.begin(),v.end(),cmp);
for(auto x: v){
while(x.second--){
cout<<x.first<<" ";
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmJvb2wgY21wKHBhaXI8aW50LGludD4gcDEscGFpcjxpbnQsaW50PiBwMil7CglpZihwMS5zZWNvbmQ9PXAyLnNlY29uZCkKCSByZXR1cm4gcDEuZmlyc3Q8cDIuZmlyc3Q7CgkgcmV0dXJuIHAxLnNlY29uZD5wMi5zZWNvbmQ7Cn0KCmludCBtYWluKCkgewoKCQlpbnQgYVtdPXs1LDUsNCw2LDR9OwoJCXVub3JkZXJlZF9tYXA8aW50LGludD4gZnJlcTsKCQlmb3IoYXV0byB4OiBhKXsKCQkJZnJlcVt4XSsrOwoJCX0KCQl2ZWN0b3I8cGFpcjxpbnQsaW50Pj4gdjsKCQlmb3IoYXV0byB4OmZyZXEpewoJCQl2LnB1c2hfYmFjayhtYWtlX3BhaXIoeC5maXJzdCx4LnNlY29uZCkpOwoJCX0KCQlzb3J0KHYuYmVnaW4oKSx2LmVuZCgpLGNtcCk7CgkJCgkJZm9yKGF1dG8geDogdil7CgkJCXdoaWxlKHguc2Vjb25kLS0pewoJCQkJY291dDw8eC5maXJzdDw8IiAiOwoJCQl9CgkJfQoKCXJldHVybiAwOwp9