


'''simple docstring'''







class 					__a      :

							def __init__(							self							:     Dict       ,     __magic_name__							:     int   )					->       List[str]:







													"""simple docstring"""
													UpperCAmelCase_			:      Tuple     						=  n
													UpperCAmelCase_			:      List[str]     						=  [None] * self.n
													UpperCAmelCase_			:      List[str]     						=  0  # index of the first element
													UpperCAmelCase_			:      Dict     						=  0
													UpperCAmelCase_			:      List[Any]     						=  0

							def __len__(							self							:     Optional[int]   )					->       int:







													"""simple docstring"""
													return self.size

							def     UpperCAmelCase__	(							self							:     Any   )					->       bool:







													"""simple docstring"""
													return self.size == 0

							def     UpperCAmelCase__	(							self							:     Union[str, Any]   )					->       Optional[int]:







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

							def     UpperCAmelCase__	(							self							:     Union[str, Any]       ,     __magic_name__							:     Optional[Any]   )					->       Union[str, Any]:







													"""simple docstring"""







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

													UpperCAmelCase_			:      List[str]     						=  data
													UpperCAmelCase_			:      Dict     						=  (self.rear + 1) % self.n
													self.size += 1
													return self



							def     UpperCAmelCase__	(							self							:     Any   )					->       int:







													"""simple docstring"""







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

													UpperCAmelCase_			:      Dict     						=  self.array[self.front]
													UpperCAmelCase_			:      str     						=  None
													UpperCAmelCase_			:      List[Any]     						=  (self.front + 1) % self.n
													self.size -= 1
													return temp












'''simple docstring'''







def        lowerCamelCase_      (  SCREAMING_SNAKE_CASE__      :			int,			SCREAMING_SNAKE_CASE__      :			int   ) ->	int:
						return abs(SCREAMING_SNAKE_CASE__   ) if a == 0 else greatest_common_divisor(b % a,			SCREAMING_SNAKE_CASE__   )





def        lowerCamelCase_      (  SCREAMING_SNAKE_CASE__      :			int,			SCREAMING_SNAKE_CASE__      :			int   ) ->	int:
						while y:  # --> when y=0 then loop will terminate and return x as final GCD.
												UpperCAmelCase_						,       UpperCAmelCase_			:      Optional[Any]     						=  y, x % y
						return abs(SCREAMING_SNAKE_CASE__   )





def        lowerCamelCase_      (  ) ->	Optional[int]:
						try:
												UpperCAmelCase_			:      Optional[Any]     						=  input('''Enter two integers separated by comma (,): '''   ).split(''','''   )
												UpperCAmelCase_			:      Optional[int]     						=  int(nums[0]   )
												UpperCAmelCase_			:      List[Any]     						=  int(nums[1]   )
												print(
												    F"""greatest_common_divisor({num_a}, {num_a}) = """
												    F"""{greatest_common_divisor(SCREAMING_SNAKE_CASE__,			SCREAMING_SNAKE_CASE__   )}"""   )
												print(F"""By iterative gcd({num_a}, {num_a}) = {gcd_by_iterative(SCREAMING_SNAKE_CASE__,			SCREAMING_SNAKE_CASE__   )}"""   )
						except (IndexError, UnboundLocalError, ValueError):
												print('''Wrong input'''   )


if __name__ == "__main__":
					main()





