#include<bits/stdc++.h>
using namespace std;
int a[128];//a数组存各个字符的数量
int b[128];//b数组 以字符数量由大到小 存取字符对应的ASCII码
int main(){
string s;
cin>>s;
int len=s.size();
for(int i=0;i<len;i++)a[s[i]]++;
for(int i=0;i<128;i++)b[i]=i;//对b数组初始化为各个ASCII码
//冒泡排序
for(int i=0;i<127;i++){
for(int j=0;j<127-i;j++){
if(a[b[j]]<a[b[j+1]])swap(b[j],b[j+1]);
//交换b数组中元素位置,使字符数量更大的字符的ASCII码靠前
}
}
for(int i=0;i<128;i++){
if(a[b[i]])printf("%c",b[i]);//按序输出
}
return 0;
}

京公网安备 11010502036488号