





'''simple docstring'''

import math
import unittest





def lowerCamelCase						(     __lowerCamelCase :    int    )						->List[Any]:
    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 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(__lowerCamelCase    ) + 1    )					,       6    ):
        if number % i == 0 or number % (i + 2) == 0:
            return False
    return True


class 					a_     (				unittest.TestCase       ):

    '''simple docstring'''


    def 			snake_case_(		self       )		->   Any:
        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 			snake_case_(		self       )		->   List[Any]:






        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()




def       _snake_case	(   lowerCAmelCase							:   list	):
		"""simple docstring"""







		SCREAMING_SNAKE_CASE_  :		Dict				      =    len(lowerCAmelCase	)
		for i in range(1   , lowerCAmelCase	):
				SCREAMING_SNAKE_CASE_  :		int				      =    collection[i]
				SCREAMING_SNAKE_CASE_  :		Any				      =    0
				SCREAMING_SNAKE_CASE_  :		Tuple				      =    i - 1

				while low <= high:
						SCREAMING_SNAKE_CASE_  :		int				      =    (low + high) // 2
						if val < collection[mid]:
								SCREAMING_SNAKE_CASE_  :		Optional[Any]				      =    mid - 1
						else:
								SCREAMING_SNAKE_CASE_  :		Tuple				      =    mid + 1
				for j in range(lowerCAmelCase   , lowerCAmelCase   , -1	):
						SCREAMING_SNAKE_CASE_  :		Union[str, Any]				      =    collection[j - 1]
				SCREAMING_SNAKE_CASE_  :		int				      =    val
		return collection


if __name__ == "__main__":
		__lowerCamelCase					:	Dict       =  input('''Enter numbers separated by a comma:\n''').strip()
		__lowerCamelCase					:	List[str]       =  [int(item) for item in user_input.split(''',''')]
		print(binary_insertion_sort(unsorted))
