code: 
  '''simple docstring'''
  
  
  
  
  
  import math
  def   snake_case_       (							_a     :							int			):
  
        if 1 < number < 4:
              # 2 and 3 are primes
              return True
        elif number < 2 or number % 2 == 0 or number % 3 == 0:
              # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
              return False
  
        # All primes number are in format of 6k +/- 1
        for i in range(5 ,					int(math.sqrt(_a			) + 1			) ,					6			):
              if number % i == 0 or number % (i + 2) == 0:
                    return False
        return True
  def   snake_case_       (							_a     :							int = 600_851_475_143			):
  
        try:
              snake_case_						       =							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."			)
        snake_case_						       =							0
        if is_prime(_a			):
              return n
        while n % 2 == 0:
              n //= 2
        if is_prime(_a			):
              return n
        for i in range(3 ,					int(math.sqrt(_a			)			) + 1 ,					2			):
              if n % i == 0:
                    if is_prime(n // i			):
                          snake_case_						       =							n // i
                          break
                    elif is_prime(_a			):
                          snake_case_						       =							i
        return max_number
  
  
  if __name__ == "__main__":
       print(F"""{solution() = }""")
  
  
style_context: 
  '''simple docstring'''
  
  
  
  
  
  def   snake_case_       (							_a     :							List[str] ,					_a     :							List[str]			):
        snake_case_						       =							1
        while b > 0:
              if b & 1:
                    res *= a
  
              a *= a
              b >>= 1
  
        return res
  def   snake_case_       (							_a     :							Union[str, Any] ,					_a     :							Tuple ,					_a     :							Optional[Any]			):
        snake_case_						       =							1
        while b > 0:
              if b & 1:
                    snake_case_						       =							((res % c) * (a % c)) % c
  
              a *= a
              b >>= 1
  
        return res
  
  