def gcd (x , y):
  sur = x % y
  while sur != 0:
    x = y
    y = sur
    sur = x % y
  return y

a,b = map(int,raw_input().split())
if a < b :
  temp = a
  a = b
  b = temp
print gcd(a,b) def gcd (x , y):
  sur = x % y
  while sur != 0:
    x = y
    y = sur
    sur = x % y
  return y gcd sur = x % y sur x % y x y while sur != 0:
    x = y
    y = sur
    sur = x % y
   sur != 0 sur 0 x = y x y y = sur y sur sur = x % y sur x % y x y return y y x x y y a,b = map(int,raw_input().split()) a map(int,raw_input().split()) map int raw_input().split() ().split () raw_input split b if a < b :
  temp = a
  a = b
  b = temp a < b a b temp = a temp a a = b a b b = temp b temp print gcd(a,b) gcd a b def gcd (x , y):
  sur = x % y
  while sur != 0:
    x = y
    y = sur
    sur = x % y
  return y def gcd (x , y):
  sur = x % y
  while sur != 0:
    x = y
    y = sur
    sur = x % y
  return y gcd temp = a a temp b = map(int,raw_input().split()) map(int,raw_input().split()) b a = b b a b = temp temp b a,b = map(int,raw_input().split()) map(int,raw_input().split()) a
def gcd (x , y):
  sur = x % y
  while sur != 0:
    x = y
    y = sur
    sur = x % y
  return y

a,b = map(int,raw_input().split())
if a < b :
  temp = a
  a = b
  b = temp
print gcd(a,b)