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){

  int x, y, d, i, xy, co = 0, max;

  scanf("%d%d", &x, &y);
  
  if(y > x){
    i = x;
    x = y;
    y = i;
  }

  for(i = 0; i < 11; i++){
    if((x%10 == 0)&&(y%10 == 0)){
      x /= 10;
      y /= 10;
      co++;
    } else break;
  }

  xy = x%y;

  for(d = 1; d <= y; d++){
    if((y%d == 0)&&(xy%d == 0)){
      max = d;
    }
  }

  for(i = 0; i < co; i++){
    max *= 10;
  }

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