задачка сложная,помогите советом
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 {
BufferedReader BR = new BufferedReader( new InputStreamReader(System.in));
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> chet = new ArrayList<Integer>();
ArrayList<Integer> nechet= new ArrayList<Integer>();
ArrayList<Integer> ost = new ArrayList<Integer>();
for(int i = 0 ;i<20;i++){
list.add(Integer.parseInt(BR.readLine()));
}
for(int i = 0;i<20;i++){
Integer x = list.get(i);
if(x%3==0&&x%2==0){
nechet.add(x);
chet.add(x);
}else {
if(x%3==0){
nechet.add(i);
}else{
if(x%2==0){
chet.add(x);
}else{
ost.add(x);
}
}
}
}
printList(nechet);
printList(chet);
printList(ost);
}
public static void printList(ArrayList<Integer> list) {
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}