#include<bits/stdc++.h>
using namespace std;
bool cmp(pair<char, int> a, pair<char, int> b) { //自定义比较函数,先比较出现次数,出现次数相同再比较ASCII码值
if(a.second>b.second)
return true;
else if(a.second == b.second)
return a.first<b.first;
else return false;
}
int main() {
string str; //存放输入的字符串
while(getline(cin, str)) { //获取输入的一行字符串
vector<pair<char, int>> vec; //存放字符串中出现的字母及其出现次数
for(int i=0;i<str.length();i++) { //对字符串中出现的每种字符进行计数
vector<pair<char, int>>::iterator it;
for(it=vec.begin();it!=vec.end();it++) {
if(it->first == str[i]) { //如果容器中存在该字符,那么该字符的数量加1
it->second++;
break;
}
}
if(it == vec.end()) //容器vec中没有该字符,在容器vec中新增一个数值对
vec.push_back(make_pair(str[i], 1));
}
sort(vec.begin(), vec.end(), cmp); //sort函数使用自定义的排序规则进行排序
for(int i=0;i<vec.size();i++) //输出排序后的字符
cout<<vec[i].first;
cout<<endl;
}
}