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: Time Limit Exceeded)

#include <iostream>
using namespace std;

int main(void)
{
	int x, y, gcd = 0;                      //gcd = Greatest Common Divisor
	cin >> x >> y;                          //input Data

        int minimum = min(x, y);
	for(gcd = minimum; gcd >= 1; gcd--)
	{
		if((x % gcd) == 0)                  // Be divisible
		{
			if((y % gcd) == 0)              // Be divisible
			{
				cout << gcd << endl;        //result
				break;
			}
		}
	}
	return 0;
}