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: Accepted)

using System;
using System.Collections.Generic;
namespace aoj{
	class program{
	
	static void Main() {

	char[] sep = new char[] {' '};
	string[] tmp=Console.ReadLine().Split(sep,
	StringSplitOptions.RemoveEmptyEntries);

	gcd g = new gcd(int.Parse(tmp[0]), int.Parse(tmp[1]));
	Console.WriteLine("{0}", g.solve());

	}
}

class gcd{
	int x;
	int y;
	
	public gcd(int a, int b){
		x=a;
		y=b;
	}
	public int solve(){
		if(x<y) swap();
		do {
			int tmp=y;
			y=x%y;
			x=tmp;
		} while(y!=0);
	return x;
	}

	void swap(){
		int tmp=x;
		x=y;
		y=tmp;
	}
}
}