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])
}
}