Валидатор не проходит. Помогите плиз!)
package com.javarush.task.task14.task1420;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
/*
НОД
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> list1 = new ArrayList<Integer>();
ArrayList<Integer> list2 = new ArrayList<Integer>();
String s = reader.readLine();
String s1 = reader.readLine();
int i = Integer.parseInt(s);
int i1 = Integer.parseInt(s1);
if (i <= 0||i1 <= 0){
throw new Exception("wrong number");
}
int k = 2;
while (true) {
if (i / k == 1) {
list.add(i);
break;
} else if (i % k == 0) {
i = i / k;
list.add(k);
} else {
k++;
}
}
int l = 2;
while (true) {
if (i1 / l == 1) {
list1.add(i1);
break;
} else if (i1 % l == 0) {
i1 = i1 / l;
list1.add(l);
} else {
l++;
}
}
for (int n = 0; n < list.size(); n++) {
for (int j = 0; j < list1.size(); j++) {
if (list.get(n) == list1.get(j)) {
list2.add(list.get(n));
list1.remove(j);
j--;
break;
}
}
}
int g = 1;
for (int v = 0; v < list2.size(); v++) {
g = g * list2.get(v);
}
System.out.println(g);
}
}