


class 			_UpperCamelCase      :
      def __init__(			self   :Optional[Any] ,      lowerCamelCase   :int      )     ->			Union[str, Any]:
       UpperCAmelCase__							 =						n
       UpperCAmelCase__							 =						[None] * self.n
       UpperCAmelCase__							 =						0  # index of the first element
       UpperCAmelCase__							 =						0
       UpperCAmelCase__							 =						0
      def __len__(			self   :Optional[Any]      )     ->			int:
       return self.size
      def 	UpperCAmelCase_						(			self   :Dict      )     ->			bool:
       return self.size == 0
      def 	UpperCAmelCase_						(			self   :Optional[Any]      )     ->			List[str]:
       return False if self.is_empty() else self.array[self.front]
      def 	UpperCAmelCase_						(			self   :Union[str, Any] ,      lowerCamelCase   :Tuple      )     ->			Optional[Any]:
       if self.size >= self.n:
        raise Exception("QUEUE IS FULL"      )

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







      def 	UpperCAmelCase_						(			self   :Dict      )     ->			Union[str, Any]:
       if self.size == 0:
        raise Exception("UNDERFLOW"      )

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











import math



def 						lowerCAmelCase		(		_lowerCAmelCase							:   int	):




 """simple docstring"""







 UpperCAmelCase__							 =						math.loga(math.sqrt(4 * positive_integer + 1	) / 2 + 1 / 2	)

 return exponent == int(_lowerCAmelCase	)



def 						lowerCAmelCase		(		_lowerCAmelCase							:   float = 1 / 1_2345	):




 """simple docstring"""







 UpperCAmelCase__							 =						0
 UpperCAmelCase__							 =						0

 UpperCAmelCase__							 =						3
 while True:
  UpperCAmelCase__							 =						(integer**2 - 1) / 4
  # if candidate is an integer, then there is a partition for k
  if partition_candidate == int(_lowerCAmelCase	):
   UpperCAmelCase__							 =						int(_lowerCAmelCase	)
   total_partitions += 1
   if check_partition_perfect(_lowerCAmelCase	):
    perfect_partitions += 1
  if perfect_partitions > 0:
   if perfect_partitions / total_partitions < max_proportion:
    return int(_lowerCAmelCase	)
  integer += 1


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





