def pgcd_math(a,b):
  import math
  return math.gcd(a,b)

def pgcd1(a, b):
  r = a % b
  a,b=b,r
  while (r != 0):
    r = a % b
    a,b=b,r
  return a

def pgcd2(a, b):
  r = None
  while (r != 0):
    r = a % b
    a,b=b,r
  return a


def pgcd(a, b):
    while b != 0:
        a, b = b, a % b
    return a

def pgcd_recursif(a, b):
    if b == 0:
        return a
    return pgcd(b, a % b)
