Не могу понять в чем причина, код работает ооооч странно, помогите разобраться)
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 Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList <String> list = new ArrayList <String>();
String l ="";
String s ="";
int l1 = 0;
int l2 = 0;
for(int i = 0; i < 10; i++){
list.add(0, reader.readLine());
}
int largest = list.get(0).length();
for (int i = 0; i < list.size(); i++){
if(list.get(i).length() > largest){
largest = list.get(i).length();}
}
for (int i = 0; i < list.size();i++){
if(largest == list.get(i).length()){
l = list.get(i);
l1 = i;
break;
}
}
int small = list.get(0).length();
for (int i = 0; i < list.size(); i++){
if(list.get(i).length() < small){
small = list.get(i).length();
}
}
for (int i = 0; i < list.size();i++){
if(small == list.get(i).length()){
s = list.get(i);
l2 = i;
break;
}
}
if (l1 < l2){
System.out.println(l);
}
if (l2 < l1){
System.out.println(s);
}
}
}