#include<iostream>
#include<map>
#include<string>
#include<vector>
using namespace std;
int main(){
    string input;
    while(cin>>input){//多组数据输入要有while来搞   
    int max=0;
    vector<char>output;
    map<char,int> count;//利用map

    for(int i =0;i<input.size();i++){
        count[input[i]]++;//遇到相同的字母就自增1
    }
    //因为map是按照key值自动排序的
    while(count.size()>0){
        for(auto iter=count.begin();iter!=count.end();iter++){
            if(iter->second>max){
                max=iter->second;//利用迭代器找到最大值
            }
        }
        for(auto iter=count.begin();iter!=count.end();iter++){
            if(iter->second==max){//如果找到第一个最大的
                output.push_back(iter->first);//压入output数组
                count.erase(iter);//删除对应的节点
                break;//跳出
            }
        }
    max=0;//重置一下max
    }
         for(auto iter=output.begin();iter!=output.end();iter++){
             cout<<*iter;
         }
        cout<<endl;}
    return 0;
}