import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class TestZTE {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String s = sc.nextLine();
sort(s);
}
}
private static void sort(String s) {
String[] str = s.split(" ");
// System.out.println(str.length);
Map<String, Integer> map = new LinkedHashMap<String, Integer>();
List<Entry<String, Integer>> list = new ArrayList<>();
for (int i = 0; i < str.length; i++) {
if (!map.containsKey(str[i])) {
map.put(str[i], 1);
} else {
map.put(str[i], map.get(str[i]) + 1);
}
}
for (Entry<String, Integer> entry : map.entrySet()) {
list.add(entry);
}
Collections.sort(list, new Comparator<Entry<String, Integer>>() {
@Override
public int compare(Entry<String, Integer> o1,
Entry<String, Integer> o2) {
// TODO Auto-generated method stub
return o2.getValue() - o1.getValue();
}
});
StringBuffer sb = new StringBuffer();
for (Entry<String, Integer> list1 : list) {
for (int i = 0; i < list1.getValue(); i++) {
sb.append(list1.getKey()).append(" ");
}
}
System.out.println(sb.toString().trim());
}
}