Почему-то не проходит последний пункт. Помогите.
package com.javarush.task.task07.task0713;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Играем в Jолушку
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<Integer> mainlist = new ArrayList<Integer>(); //Creating a new list
ArrayList<Integer> list1 = new ArrayList<Integer>();
ArrayList<Integer> list2 = new ArrayList<Integer>();
ArrayList<Integer> list3 = new ArrayList<Integer>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for(int i = 0; i < 20; i++) {
mainlist.add(Integer.parseInt(reader.readLine())); //reading the figures from the screen
} //and filling the mainlistwith them
for(int i = 0; i < mainlist.size(); i++) {
if(mainlist.get(i) % 3 == 0) {
list1.add(mainlist.get(i));
}
if(mainlist.get(i) % 2 == 0) {
list2.add(mainlist.get(i));
} else if(mainlist.get(i) % 3 != 0 && mainlist.get(i) % 2 != 0) {
list3.add(mainlist.get(i));
}
printList(list1);
printList(list2);
printList(list3);
}
}//main
public static void printList(ArrayList<Integer> list) {
for (int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
}//printList
}//class