


'''simple docstring'''






from math import factorial






def 	_A				(lowerCAmelCase__  :int				,						lowerCAmelCase__  :int		)   ->  int:




     '''simple docstring'''



     if n < k or k < 0:
          raise ValueError('Please enter positive integers for n and k where n >= k'		)
     return factorial(lowerCAmelCase__		) // (factorial(lowerCAmelCase__		) * factorial(n - k		))


if __name__ == "__main__":
 print(
     "The number of five-card hands possible from a standard",
     f'''fifty-two card deck is: {combinations(5_2, 5)}\n''',
 )

 print(
     "If a class of 40 students must be arranged into groups of",
     f'''4 for group projects, there are {combinations(4_0, 4)} ways''',
     "to arrange them.\n",
 )

 print(
     "If 10 teams are competing in a Formula One race, there",
     f'''are {combinations(1_0, 3)} ways that first, second and''',
     "third place can be awarded.",
 )





'''simple docstring'''






class  a     :
 def __init__( self      ,				__magic_name__						)					->							Optional[int]:
      _a			      =							n
      _a			      =							[None] * self.n
      _a			      =							0  # index of the first element
      _a			      =							0
      _a			      =							0
 def __len__( self						)					->							int:
      return self.size
 def 							__UpperCAmelCase		( self						)					->							bool:
      return self.size == 0
 def 							__UpperCAmelCase		( self						)					->							Optional[Any]:
      return False if self.is_empty() else self.array[self.front]
 def 							__UpperCAmelCase		( self      ,				__magic_name__						)					->							Optional[Any]:
      if self.size >= self.n:
           raise Exception('QUEUE IS FULL'						)

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




 def 							__UpperCAmelCase		( self						)					->							Any:
      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

