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 C# (judge verdict: Runtime Error)

using System;
using System.Collections.Generic;

class main{
    public static void Main(String[] args){
        int[] a = Array.ConvertAll(Console.ReadLine().Split(' '),int.Parse);

        if(a[0] >= a[1]){
            a[0] = a[0] % a[1];
        }else if(a[0] <= a[1]){
            a[0] = a[0] % a[1];
        }

        List<int> lst1 = division(a[0]);
        List<int> lst2 = division(a[1]);

        int x1 = comparison(lst1,lst2);

        Console.WriteLine(x1);

    }

    internal static List<int> division(int n){

        List<int> lst = new List<int>();

        for(int i = 1; i <= n;i++){
            if(n % i == 0){
                lst.Add(i);
            }
        }

        return lst;

    }

    internal static int comparison(List<int> lst1,List<int> lst2){

        int temp = lst1[0];

        for(int i = 0; i < lst1.Count;i++){
            for(int j = 0; j < lst2.Count;j++){
                if(lst1[i] == lst2[j]){
                    temp = lst1[i];
                }
            }
        }

        return temp;

    }
}