public class Solution {
    public static void main(String[] args) throws IOException {
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
             BufferedReader readerFile = new BufferedReader(new FileReader(reader.readLine()))) {
            String[] words;
            try {
                words = readerFile.readLine().split(" ");
                StringBuilder result = getLine(words);
                System.out.println(result.toString());
            } catch (NullPointerException e) {
                StringBuilder result = new StringBuilder("");
            }

        }
    }

    public static StringBuilder getLine(String... words) {
        ArrayList<String> list = new ArrayList<>();
        String letter = "";
        StringBuilder sb = new StringBuilder("");
        for (int i = 0; i < words.length; i++) {
            list.add(words[i]);
        }
        Collections.shuffle(list);
        // Первая итерация
        sb.append(list.get(0));
        letter = list.get(0).substring(list.get(0).length() - 1);
        list.remove(0);
        for (int i = 0; i < list.size(); i++) {
            String current = list.get(i);
            for (int j = i; j < list.size(); j++) {
                if (list.get(j).substring(0, 1).equalsIgnoreCase(letter)) {
                    sb.append(" " + list.get(j));
                    list.set(i, list.get(j));
                    letter = list.get(i).substring(list.get(i).length() - 1);
                    list.set(j, current);
                }
            }
        }
        return sb;
    }
}