import java.util.*;
/**
* 【字符统计】
*
* 输入一个只包含小写英文字母和数字的字符串,按照不同字符统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASCII码由小到大排序输出。
* 数据范围:字符串长度满足 1 \le len(str) \le 1000 \1≤len(str)≤1000
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nextLine = sc.nextLine();
HashMap<Character, Integer> hashMap = new HashMap<>();
char[] chars = nextLine.toCharArray();
for (char aChar : chars) {
if (hashMap.containsKey(aChar)) {
hashMap.put(aChar, hashMap.get(aChar) + 1);
} else {
hashMap.put(aChar, 1);
}
}
ArrayList<Map.Entry<Character, Integer>> entryArrayList = new ArrayList<>(hashMap.entrySet());
entryArrayList.sort(new Comparator<Map.Entry<Character, Integer>>() {
@Override
public int compare(Map.Entry<Character, Integer> o1, Map.Entry<Character, Integer> o2) {
if (!o1.getValue().equals(o2.getValue())) {
return o2.getValue() - o1.getValue();
} else {
return o1.getKey() - o2.getKey();
}
}
});
for (Map.Entry<Character, Integer> entry : entryArrayList) {
System.out.print(entry.getKey());
}
System.out.println();
}
}