package com.javarush.task.task22.task2209;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

/*
Составить цепочку слов
*/

public class Solution {
    public static void main(String[] args) throws IOException {
        //...
        StringBuilder builder = new StringBuilder();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        try (FileReader fileReader = new FileReader(reader.readLine())) {
            while (fileReader.ready()) {
                builder.append((char) fileReader.read());

            }
        }

        String[] array = builder.toString().split(" ");


        StringBuilder result = getLine(array);
        System.out.println(result.toString());
    }

    public static StringBuilder getLine(String... words) {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < words.length; i++) {
            stringBuilder.append(words[i] + " ");
        }

        StringBuilder newStringBuilder = new StringBuilder();

        if (words.length > 0) {
            String[] array = stringBuilder.toString().split(" ");
            char a = array[0].charAt(array[0].length() - 1); //получили последний символ слова индекса 0
            for (int i = 0; i < array.length - 1; i++) {
                if (i == 0) {
                    newStringBuilder.append(array[0]); //kiev

                }
                for (int j = 0; j < array.length; j++) {
                    if (a == Character.toLowerCase(array[j].charAt(0))) { //проверяем всем слова из массива
                        newStringBuilder.append(" " + array[j]);
                        a = array[j].charAt(array[j].length() - 1);
                        break;
                    }
                } //нужно найти слово которое начинается на последний символ
            }
        }


        return newStringBuilder;
    }
}