




class       a__	:







     def __init__(     self  ,		A			)  ->   str:



          '''simple docstring'''



          a     =				n
          a     =				[None] * self.n
          a     =				0  # index of the first element
          a     =				0
          a     =				0







     def __len__(     self			)  ->   int:



          '''simple docstring'''



          return self.size







     def       lowerCAmelCase_    (     self			)  ->   bool:



          '''simple docstring'''



          return self.size == 0







     def       lowerCAmelCase_    (     self			)  ->   str:



          '''simple docstring'''



          return False if self.is_empty() else self.array[self.front]







     def       lowerCAmelCase_    (     self  ,		A			)  ->   Union[str, Any]:



          '''simple docstring'''



          if self.size >= self.n:
               raise Exception("QUEUE IS FULL"			)

          a     =				data
          a     =				(self.rear + 1) % self.n
          self.size += 1
          return self







     def       lowerCAmelCase_    (     self			)  ->   List[str]:



          '''simple docstring'''



          if self.size == 0:
               raise Exception("UNDERFLOW"			)

          a     =				self.array[self.front]
          a     =				None
          a     =				(self.front + 1) % self.n
          self.size -= 1
          return temp







import math
import unittest

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




class       a__	( unittest.TestCase				):







     def       lowerCAmelCase_    (     self			)  ->   List[str]:



          '''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       lowerCAmelCase_    (     self			)  ->   Tuple:



          '''simple docstring'''



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

