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

x, y = map(int, raw_input().split())
print gcd(x, y) def gcd(x, y):
     if x < y:
          x, y = y, x
     while y > 0:
          r = x%y
          x = y
          y = r
     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:
          r = x%y
          x = y
          y = r
      y > 0 y 0 r = x%y r x%y x y x = y x y y = r y r return x x x x y y x, y = map(int, raw_input().split()) x map(int, raw_input().split()) map int raw_input().split() ().split () raw_input split y print gcd(x, y) gcd x y x, y = map(int, raw_input().split()) map(int, raw_input().split()) x y = map(int, raw_input().split()) map(int, raw_input().split()) y def gcd(x, y):
     if x < y:
          x, y = y, x
     while y > 0:
          r = x%y
          x = y
          y = r
     return x def gcd(x, y):
     if x < y:
          x, y = y, x
     while y > 0:
          r = x%y
          x = y
          y = r
     return x gcd
def gcd(x, y):
     if x < y:
          x, y = y, x
     while y > 0:
          r = x%y
          x = y
          y = r
     return x

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