

def       a__					(		UpperCAmelCase							:      int = 600_851_475_143      )  ->						int:





  try:
    UpperCAmelCase	:							int						=			int(_snake_case      )
  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	:							Tuple						=			1
  UpperCAmelCase	:							str						=			2
  while i * i <= n:
    while n % i == 0:
      UpperCAmelCase	:							List[Any]						=			i
      n //= i
    i += 1
  if n > 1:
    UpperCAmelCase	:							Optional[int]						=			n
  return int(_snake_case      )


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








from ..utils import DummyObject, requires_backends





class  __UpperCAmelCase					(	metaclass=lowerCamelCase__						):
   UpperCamelCase       					=					["""onnx"""]



   def __init__(							self							:					int,		*__A							:					Optional[Any],		**__A							:					Dict						):
     requires_backends(self,		['''onnx''']						)



   @classmethod
   def 	__magic_name__   (							cls							:					Any,		*__A							:					Any,		**__A							:					Dict						):
     requires_backends(cls,		['''onnx''']						)





   @classmethod
   def 	__magic_name__   (							cls							:					Tuple,		*__A							:					List[str],		**__A							:					List[str]						):
     requires_backends(cls,		['''onnx''']						)





