def gcd(x, y):
    if x < y:
        x, y = y, x
    while y > 0:
        x, y = y, x%y
    return x

x, y = list(map(int, input().split()))
print(gcd(x, y))
 def gcd(x, y):
    if x < y:
        x, y = y, x
    while y > 0:
        x, y = y, x%y
    return x gcd if x < y:
        x, y = y, x
     x < y x y x, y = y, x x y y x while y > 0:
        x, y = y, x%y
     y > 0 y 0 x, y = y, x%y x y y x%y x y return x x x x y y x, y = list(map(int, input().split())) x list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split y print(gcd(x, y)) print gcd(x, y) gcd x y def gcd(x, y):
    if x < y:
        x, y = y, x
    while y > 0:
        x, y = y, x%y
    return x def gcd(x, y):
    if x < y:
        x, y = y, x
    while y > 0:
        x, y = y, x%y
    return x gcd x, y = list(map(int, input().split())) list(map(int, input().split())) x y = list(map(int, input().split())) list(map(int, input().split())) y
def gcd(x, y):
    if x < y:
        x, y = y, x
    while y > 0:
        x, y = y, x%y
    return x

x, y = list(map(int, input().split()))
print(gcd(x, y))

