def grecom(x,y):
    if(x==0 or y==0):
        return x+y
    if(x==1 or y==1):
        return 1
    if(x==y):
        return x
    if(y>x):
        return grecom(y%x,x)
    else:
        return grecom(x%y,y)

s = input()
a,b=map(int,s.split())
print(grecom(a,b)) def grecom(x,y):
    if(x==0 or y==0):
        return x+y
    if(x==1 or y==1):
        return 1
    if(x==y):
        return x
    if(y>x):
        return grecom(y%x,x)
    else:
        return grecom(x%y,y) grecom if(x==0 or y==0):
        return x+y
     x==0 or y==0 x==0 x 0 y==0 y 0 return x+y x+y x y if(x==1 or y==1):
        return 1
     x==1 or y==1 x==1 x 1 y==1 y 1 return 1 1 if(x==y):
        return x
     x==y x y return x x if(y>x):
        return grecom(y%x,x)
    else:
        return grecom(x%y,y) y>x y x return grecom(y%x,x) grecom(y%x,x) grecom y%x y x x return grecom(x%y,y) grecom(x%y,y) grecom x%y x y y x x y y s = input() s input() input a,b=map(int,s.split()) a map(int,s.split()) map int s.split() s.split s split b print(grecom(a,b)) print grecom(a,b) grecom a b a,b=map(int,s.split()) map(int,s.split()) a b=map(int,s.split()) map(int,s.split()) b s = input() input() s def grecom(x,y):
    if(x==0 or y==0):
        return x+y
    if(x==1 or y==1):
        return 1
    if(x==y):
        return x
    if(y>x):
        return grecom(y%x,x)
    else:
        return grecom(x%y,y) def grecom(x,y):
    if(x==0 or y==0):
        return x+y
    if(x==1 or y==1):
        return 1
    if(x==y):
        return x
    if(y>x):
        return grecom(y%x,x)
    else:
        return grecom(x%y,y) grecom
def grecom(x,y):
    if(x==0 or y==0):
        return x+y
    if(x==1 or y==1):
        return 1
    if(x==y):
        return x
    if(y>x):
        return grecom(y%x,x)
    else:
        return grecom(x%y,y)

s = input()
a,b=map(int,s.split())
print(grecom(a,b))