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 nnum1, nnum2;    /*nnum1, nnum2:自然数a, b*/
    
    /*入力部*/
    scanf("%d %d", &nnum1, &nnum2);
    
    /*計算部*/    /*ユークリウッド互除法*/
    while (!(nnum1==nnum2)){    /*nnum1とnnum2が等しくなるまでループ*/
        /*大きい方から小さい方を引き続ける*/
        if (nnum1 > nnum2){
            nnum1 -= nnum2;
        }else if (nnum1 < nnum2){
            nnum2 -= nnum1;}
    }
    
    /*出力部*/
    printf("%d\n", nnum1);    /*nnum1とnnum2どちらも同じ最大公約数になってるので
                                とりあえずnnum1を表示*/
    return 0;
}