def gcd(a, b):
    """
    ユークリッドの互除法による最大公約数(gratest common divisor)算出
    注意: a >= b であること
    
    Parameters
    ----------
    a : int
        1つ目の数値
    b : int
        2つ目の数値
    
    Returns
    -------
    int
        aとbの最大公約数
    """
    if a == 0:
        return 0
    elif b == 0:
        return a

    a %= b
    while a != 0:
        a, b = b, a
        a %= b

    return b