



import math
import unittest






def     a(      A       :    int       )		->       bool:
					"""simple docstring"""





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



class 	_lowercase							(   unittest.TestCase	):





	"""simple docstring"""




	def      UpperCamelCase_       (self		):
						"""simple docstring"""

						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		):
						"""simple docstring"""

						with self.assertRaises(lowerCamelCase_		):
											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     a(      A       :    list       )		->       list:
					"""simple docstring"""





					if any(not isinstance(A ,     A       ) or x < 0 for x in sequence       ):
										raise TypeError("Sequence must be list of non-negative integers"       )
					for _ in range(len(A       )       ):
										for i, (rod_upper, rod_lower) in enumerate(zip(A ,     sequence[1:]       )       ):
															if rod_upper > rod_lower:
																				sequence[i] -= rod_upper - rod_lower
																				sequence[i + 1] += rod_upper - rod_lower
					return sequence


if __name__ == "__main__":
				assert bead_sort([5, 4, 3, 2, 1]) == [1, 2, 3, 4, 5]
				assert bead_sort([7, 9, 4, 3, 5]) == [3, 4, 5, 7, 9]
