






"""simple docstring"""







import math
import unittest

def _a			(		_snake_case							):







      """simple docstring"""






      assert isinstance(_snake_case				,	_snake_case							) 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 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(_snake_case							) + 1							)				,	6							):
            if number % i == 0 or number % (i + 2) == 0:
                  return False
      return True







class  lowerCamelCase__ (	unittest.TestCase			):






    def     _UpperCamelCase							(			self ):
          self.assertTrue(is_prime(2 ) )
          self.assertTrue(is_prime(3 ) )
          self.assertTrue(is_prime(5 ) )
          self.assertTrue(is_prime(7 ) )
          self.assertTrue(is_prime(11 ) )
          self.assertTrue(is_prime(13 ) )
          self.assertTrue(is_prime(17 ) )
          self.assertTrue(is_prime(19 ) )
          self.assertTrue(is_prime(23 ) )
          self.assertTrue(is_prime(29 ) )






    def     _UpperCamelCase							(			self ):
          with self.assertRaises(A ):
                is_prime(-19 )
          self.assertFalse(
              is_prime(0 )     ,"""Zero doesn't have any positive factors, primes must have exactly two."""     ,)
          self.assertFalse(
              is_prime(1 )     ,"""One only has 1 positive factor, primes must have exactly two."""     ,)
          self.assertFalse(is_prime(2 * 2 ) )
          self.assertFalse(is_prime(2 * 3 ) )
          self.assertFalse(is_prime(3 * 3 ) )
          self.assertFalse(is_prime(3 * 5 ) )
          self.assertFalse(is_prime(3 * 5 * 7 ) )


if __name__ == "__main__":
  unittest.main()











"""simple docstring"""







def _a			(		_snake_case = 6008_5147_5143							):







      """simple docstring"""






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


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



