Problem:
Greatest Common Divisor

Write a program which finds the greatest common divisor of two natural numbers a and b

Input

a and b are given in a line sparated by a single space.

Output

Output the greatest common divisor of a and b.

Constrants

1 ≤ a, b ≤ 109

Hint

You can use the following observation:

For integers x and y, if x ≥ y, then gcd(x, y) = gcd(y, x%y)

Sample Input 1

54 20

Sample Output 1

2

Sample Input 2

147 105

Sample Output 2

21

Solution in JAVA (judge verdict: Wrong Answer)

import java.io.*;
import java.util.*;



public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
                    
        str = br.readLine();
        String[] line = str.split("\\s");
        int x = Integer.parseInt(line[0]);
        int y = Integer.parseInt(line[1]);
        ArrayList<Integer> XD = new ArrayList<Integer>();
        ArrayList<Integer> YD = new ArrayList<Integer>();

        for(int i = 2;i<x;i++){
            if(x % i == 0){
                XD.add(i);
            }
        }

        for(int i = 2;i<y;i++){
            if( y% i == 0){
                YD.add(i);
            }
        }

        int ans = 1;
        for(int i = 0;i<XD.size();i++){
            for(int j=0;j<YD.size();j++){
                if(XD.get(i) == YD.get(j))
                    ans = XD.get(i);
            }
        }
        System.out.println(ans);
       
        br.close();
    }
}