Код работает. Не могу понять почему не пропускает
package com.javarush.task.task07.task0712;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самые-самые
*/
public class Solution {
public static void main(String[] args) throws IOException {
//Инициализация
ArrayList<String>list = new ArrayList<String>();
String longestWord = "";
String shortestWord = "";
int lon = 0;
int sho = 0;
//Считывание строк
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++){
list.add(reader.readLine());
}
//Поиск самого длинного числа
for (int i = 0; i < list.size(); i++){
if(longestWord.length() < list.get(i).length()){
longestWord = list.get(i);
}
}
for (int i = 0; i < list.size(); i++){
if(longestWord.length() == list.get(i).length()){
lon = i;//помещаю порядковый номер в переменную
}
}
for (int i = 0; i < list.size(); i++){
if(list.get(i).length() < longestWord.length()){
shortestWord = list.get(i);
}
}
for (int i = 0; i < list.size(); i++){
if(list.get(i).length() < shortestWord.length()){
shortestWord = list.get(i);
}
}
for (int i = 0; i < list.size(); i++){
if(shortestWord.length() == list.get(i).length()){
sho = i;//помещаю порядковый номер в переменную
}
}
//Сравнение номеров переменных.
if (sho < lon){
System.out.println(shortestWord);
}else{
System.out.println(longestWord);
}
}
}