import java.io.*;
import java.util.*;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader( System.in));
String s = reader.readLine();
reader = new BufferedReader(new FileReader(s));
StringBuilder sb = new StringBuilder();
while(reader.ready())
{
sb.append(reader.readLine());
sb.append(" ");
}
reader.close();
//...
StringBuilder result = getLine(sb.toString().split(" "));
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
if(words.length==0){return new StringBuilder();}
HashMap<Integer,StringBuilder> lines = new HashMap<>();
for(int i = 0; i< words.length; i++){
StringBuilder builder = new StringBuilder(words[i]);
builder.append(" ");
ArrayList<String> secondlist = new ArrayList<>(Arrays.asList(words));;
for(int j = 0; j<secondlist.size(); j++){
if(words[i].equals(secondlist.get(j))){
secondlist.remove(j);
j--;
continue;
}
char[] wholeline = builder.toString().toLowerCase().toCharArray();
char[] word = secondlist.get(j).toLowerCase().toCharArray();
if( wholeline[wholeline.length-2] == word[0]){
builder.append(secondlist.get(j));
builder.append(" ");
secondlist.remove(j);
j = 0;
}
}
builder.deleteCharAt(builder.length()-1);
lines.put(builder.length(), builder);
}
int key = 0;
for(Map.Entry<Integer, StringBuilder> i : lines.entrySet()){
if(key< i.getKey()){
key= i.getKey();
}
}
return lines.get(key);
}
}package com.javarush.task.task22.task2209;
package com.javarush.task.task22.task2209;
import java.io.*;
import java.util.*;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader( System.in));
String s = reader.readLine();
reader = new BufferedReader(new FileReader(s));
StringBuilder sb = new StringBuilder();
while(reader.ready())
{
sb.append(reader.readLine());
sb.append(" ");
}
reader.close();
//...
StringBuilder result = getLine(sb.toString().split(" "));
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
if(words.length==0){return new StringBuilder();}
HashMap<Integer,StringBuilder> lines = new HashMap<>();
for(int i = 0; i< words.length; i++){
StringBuilder builder = new StringBuilder(words[i]);
builder.append(" ");
ArrayList<String> secondlist = new ArrayList<>(Arrays.asList(words));;
for(int j = 0; j<secondlist.size(); j++){
if(words[i].equals(secondlist.get(j))){
secondlist.remove(j);
j--;
continue;
}
char[] wholeline = builder.toString().toLowerCase().toCharArray();
char[] word = secondlist.get(j).toLowerCase().toCharArray();
if( wholeline[wholeline.length-2] == word[0]){
builder.append(secondlist.get(j));
builder.append(" ");
secondlist.remove(j);
j = 0;
}
}
builder.deleteCharAt(builder.length()-1);
lines.put(builder.length(), builder);
}
int key = 0;
for(Map.Entry<Integer, StringBuilder> i : lines.entrySet()){
if(key< i.getKey()){
key= i.getKey();
}
}
return lines.get(key);
}
}