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();
    }
}