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>

int main(void)
{
  long x, y, amari;
  long i, GCD_x, GCD_y, GCD;
  int tmp;

  scanf("%ld %ld", &x, &y);

  if(y > x){
    tmp = x;
    x = y;
    y = tmp;
  }

  amari = x % y;
  if(amari == 0){
    for(i = 1; i <= x; i++){
      GCD_x = x % i;
      if(GCD_x == 0){
	GCD = i;
      }
    }
  } else {
    for(i = 1; i <= amari; i++){
      GCD_x = amari % i;
      GCD_y = y % i;
      if(GCD_x == 0 && GCD_y == 0){
	GCD = i;
      }
    }
  }

  printf("%ld\n", GCD);

  return 0;
}