#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;
    }
}