import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String str = in.nextLine();
            HashMap<Character, Integer> map = new HashMap<>();
            for (char c : str.toCharArray()) {
                map.merge(c, 1, Integer::sum);
            }
            List<MyString> list = new LinkedList<>();
            for (Map.Entry<Character, Integer> entry : map.entrySet()) {
                list.add(new MyString(entry.getKey(), entry.getValue()));
            }
            list.sort((o1, o2) -> {
                if (o1.getValue().equals(o2.getValue())) {
                    return o1.getKey() - o2.getKey(); // 在个数相同的情况下,ASCII 小的在前面
                }
                return o2.getValue() - o1.getValue(); // 个数多的在前面
            });
            StringBuilder sb = new StringBuilder();
            for (MyString s : list) {
                sb.append(s.getKey());
            }
            System.out.println(sb.toString());
        }
    }
}

class MyString {
    private Character key;
    private Integer value;

    public MyString(Character key, Integer value) {
        this.key = key;
        this.value = value;
    }

    public Character getKey() {
        return key;
    }

    public void setKey(Character key) {
        this.key = key;
    }

    public Integer getValue() {
        return value;
    }

    public void setValue(Integer value) {
        this.value = value;
    }
}