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

	}

}