#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<set>
using namespace std;

struct zf
{
    int cishu;
    char c;
};

bool compare(zf x,zf y)
{
    if(x.cishu==y.cishu)
    {
        return x.c<y.c;
    }
    else{
        return x.cishu>y.cishu;
    }
}
zf arr[1000];
int main()
{
    string s;
    cin>>s;
    int ii=0;
    for(int i=0;i<s.size();i++)
    {
        if(s[i]=='*') continue;
        int count=1;
        for(int j=i+1;j<s.size();j++)
        {
            
            if(s[i]==s[j])
            {
               count++;
               s[j]='*';
            }
        }
        arr[ii].cishu=count;
        arr[ii].c=s[i];
        ii++;
    }

    sort(arr,arr+ii,compare);
    for(int h=0;h<ii;h++)
    {
        cout<<arr[h].c;
    }
    return 0;
}