def  __UpperCamelCase    (						A ,							A							):
     while a != 0:
          UpperCamelCase__						,       UpperCamelCase__										=      b % a, a
     return b







def  __UpperCamelCase    (						A ,							A							):
     if gcd(A ,							A							) != 1:
          UpperCamelCase__										=      f"mod inverse of {a!r} and {m!r} does not exist"
          raise ValueError(A							)
     UpperCamelCase__						,       UpperCamelCase__						,       UpperCamelCase__										=      1, 0, a
     UpperCamelCase__						,       UpperCamelCase__						,       UpperCamelCase__										=      0, 1, m
     while va != 0:
          UpperCamelCase__										=      ua // va
          UpperCamelCase__						,       UpperCamelCase__						,       UpperCamelCase__						,       UpperCamelCase__						,       UpperCamelCase__						,       UpperCamelCase__										=      (ua - q * va), (ua - q * va), (ua - q * va), va, va, va
     return ua % m




def  __UpperCamelCase    (						A = 600851475143							):

     try:
          UpperCamelCase__										=      int(A							)
     except (TypeError, ValueError):
          raise TypeError('''Parameter n must be int or castable to int.'''							)
     if n <= 0:
          raise ValueError('''Parameter n must be greater than or equal to one.'''							)
     UpperCamelCase__										=      1
     UpperCamelCase__										=      2
     while i * i <= n:
          while n % i == 0:
               UpperCamelCase__										=      i
               n //= i
          i += 1
     if n > 1:
          UpperCamelCase__										=      n
     return int(A							)


if __name__ == "__main__":
     print(f"""{solution() = }""")



