package main

import (
	"fmt"
	"sort"
	"strconv"
	"strings"
)

func main() {
    var s string
    fmt.Scan(&s)
    m := make(map[rune]int)
    for _, c := range s {
        m[c]++
    }
    vk := make([]string, len(m))
    idx := 0
    for k, v := range m {
        vk[idx] = fmt.Sprintf("%d/%c",v,k)
        idx++
    }
    sort.Slice(vk, func(i, j int) bool {
        a1 := strings.Split(vk[i], "/")
        a2 := strings.Split(vk[j], "/")
        v1, _ := strconv.Atoi(a1[0])
        v2, _ := strconv.Atoi(a2[0])
        if v1 == v2 {
            return a1[1] < a2[1]
        } else {
            return v1 > v2
        }
    })
    for _, v := range vk {
        fmt.Print(strings.Split(v, "/")[1])
    }
}