'''simple docstring'''

import math


def __a (	__lowerCamelCase			:						int				)	->							bool:
      '''simple docstring'''


      assert isinstance(__lowerCamelCase ,		__lowerCamelCase				) and (
          number >= 0
      ), "'number' must been an int and positive"

      if 1 < number < 4:
            # 2 and 3 are primes
            return True
      elif number < 2 or not number % 2:
            # Negatives, 0, 1 and all even numbers are not primes
            return False

      lowercase_     =      range(3 ,		int(math.sqrt(__lowerCamelCase				) + 1				) ,		2				)
      return not any(not number % i for i in odd_numbers				)






def __a (	__lowerCamelCase			:						Optional[int] ,		__lowerCamelCase			:						str=1 ,		**__lowerCamelCase			:						List[str]				)	->							List[Any]:
      '''simple docstring'''


      lowercase_     =      factor * value
      lowercase_     =      value

      while not is_prime(__lowerCamelCase				):
            value += 1 if not ("desc" in kwargs and kwargs["desc"] is True) else -1

      if value == first_value_val:
            return next_prime(value + 1 ,		**__lowerCamelCase				)
      return value







'''simple docstring'''

def __a (	__lowerCamelCase			:						int = 600_851_475_143				)	->							int:
      '''simple docstring'''


      try:
            lowercase_     =      int(__lowerCamelCase				)
      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."				)
      lowercase_     =      1
      lowercase_     =      2
      while i * i <= n:
            while n % i == 0:
                  lowercase_     =      i
                  n //= i
            i += 1
      if n > 1:
            lowercase_     =      n
      return int(__lowerCamelCase				)


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






