

package de.codegym.task.task07.task0709;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
/*
Uns selbst prägnanter ausdrücken
*/
public class Solution {
public static void main(String[] args) throws Exception {
//schreib hier deinen Code
ArrayList<String> strings = new ArrayList<String>(5);
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int a = 0; a<5;a++)
strings.add(reader.readLine());
/*
sortieren nach länge String Item
*/
strings.sort((s1, s2) -> Math.abs(s1.length() - "intelligent".length()) - Math.abs(s2.length() - "intelligent".length()));
/*
for (String item : strings)
System.out.println(item);
System.out.println("------");
*/
/* Reverse
Collections funktioniert aber Laufzeit überschreitung bei Kontrolle
*/
Collections.reverse(strings);
/*
for (String item : strings)
System.out.println(item);
System.out.println("------");
*/
/*
ArrayList<String> stringsSortDesc = new ArrayList<String>(5);
for (int b = strings.size(); b-- > 0; )
stringsSortDesc.add(strings.get(b));
for (int c = 0; c < stringsSortDesc.size(); c++) {
if (c == 0) {
listSearchLength.add(stringsSortDesc.get(c));
} else if (stringsSortDesc.get(c).length() == listSearchLength.get(0).length()) {
listSearchLength.add(stringsSortDesc.get(c));
}
}
*/
/*
for (String item : stringsSortDesc)
System.out.println(item);
*/
ArrayList<String> listSearchLength = new ArrayList<String>();
for (int c = 0; c < strings.size(); c++) {
if (c == 0) {
listSearchLength.add(strings.get(c));
} else if (strings.get(c).length() == listSearchLength.get(0).length()) {
listSearchLength.add(strings.get(c));
}
}
/*
Ausgabe
*/
for (int d = 0; d < listSearchLength.size(); d++)
System.out.println(listSearchLength.get(d));
}
}