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 <stdio.h>

main()
{
  int a, b, n, ahozon, bhozon;

  scanf("%d %d", &a, &b);

  if(a > b)
    {
      bhozon = b;
      n = b;
      while(a % b != 0 || bhozon % n != 0)
	{
	  b = b - 1;
	  n = b;
	}
    }

  if(b >= a)
    {
      ahozon = a;
      n = a;
      while(b % a != 0 || ahozon % n != 0)
	{
	  a = a - 1;
	  n = a;
	}
    }

  printf("%d\n", n);
  return 0;
}