@classmethod
@lru_cache(maxsize=None)
def gcd(cls, a, b):
    return (cls.gcd(b, (a % b)) if b else abs(a))
@classmethod
@lru_cache(maxsize=None)
def gcd(cls, a, b):
    return (cls.gcd(b, (a % b)) if b else abs(a))