Не могу понять как остаток докинуть в главный список, проходит без одного варианта
package com.javarush.task.task07.task0713;
import java.util.ArrayList;
/*
Играем в Jолушку
*/
import java.util.ArrayList;
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader((new InputStreamReader(System.in)));
ArrayList<Integer> main = new ArrayList<>();
// ArrayList<Integer> list4 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
// ArrayList<Integer> list4 = new ArrayList<>();
ArrayList<Integer> list3 = new ArrayList<>();
ArrayList<Integer> list4 = new ArrayList<>();
// ArrayList<Integer> main = new ArrayList<>();
for(int i=0;i<20;i++){
main.add(Integer.parseInt(reader.readLine()));
}
for(int i=0;i<20;i++){
int x = main.get(i);
if( (x%3==0) ||(x%2==0 && x%3==0)){
list2.add(x);
}
else if(x%2==0 || (x%3==0 && x%2==0)){
list3.add(x);
}else if((x%3!=0) || (x%3!=0 && x%2!=0) || x%2==0){
list4.add(x);
} else
list4.add(x);
}
// for(int i=0;i<main.size();i++){
// list4.add(main.get(i));
// }
printList(list2);
printList(list3);
printList(list4);
} //main close
public static void printList(ArrayList<Integer> list) {
//напишите тут ваш код
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
} // Solution close