#include <iostream>
#include <map>
using namespace std;
int main()
{
map<int,int> m;
multimap<int,int,greater<int>> mm;
for(int i = 0; i < 40; ++i)
{
int v = rand()%20;
m[v]++;
cout << v << " ";
}
cout << endl;
for(auto v : m)
mm.insert(make_pair(v.second,v.first));
for(auto v : mm)
for(int i = 0; i < v.first; ++i)
cout << v.second << " ";
cout << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgbWFwPGludCxpbnQ+IG07CiAgICBtdWx0aW1hcDxpbnQsaW50LGdyZWF0ZXI8aW50Pj4gbW07CgogICAgZm9yKGludCBpID0gMDsgaSA8IDQwOyArK2kpCiAgICB7CiAgICAgICAgaW50IHYgPSByYW5kKCklMjA7CiAgICAgICAgbVt2XSsrOwogICAgICAgIGNvdXQgPDwgdiA8PCAiICI7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7CgogICAgZm9yKGF1dG8gdiA6IG0pCiAgICAgICAgbW0uaW5zZXJ0KG1ha2VfcGFpcih2LnNlY29uZCx2LmZpcnN0KSk7CgogICAgZm9yKGF1dG8gdiA6IG1tKQogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCB2LmZpcnN0OyArK2kpCiAgICAgICAgICAgIGNvdXQgPDwgdi5zZWNvbmQgPDwgIiAiOwogICAgY291dCA8PCBlbmRsOwoKfQo=