



from __future__ import annotations

import sys


def 						UpperCAmelCase__   (   UpperCAmelCase__			:int			,       UpperCAmelCase__			:int       ):






 '''simple docstring'''

 if abs(UpperCAmelCase__       ) == 1:
  return a, 0
 elif abs(UpperCAmelCase__       ) == 1:
  return 0, b

 a		,	a							=		a, b
 a		,	a							=		1, 0
 a		,	a							=		0, 1

 while remainder != 0:
  a							=		old_remainder // remainder
  a		,	a							=		remainder, old_remainder - quotient * remainder
  a		,	a							=		coeff_a, old_coeff_a - quotient * coeff_a
  a		,	a							=		coeff_b, old_coeff_b - quotient * coeff_b

 # sign correction for negative numbers
 if a < 0:
  a							=		-old_coeff_a
 if b < 0:
  a							=		-old_coeff_b

 return old_coeff_a, old_coeff_b


def 						UpperCAmelCase__   (   ):






 '''simple docstring'''

 if len(sys.argv       ) < 3:
  print("2 integer arguments required"       )
  return 1
 a							=		int(sys.argv[1]       )
 a							=		int(sys.argv[2]       )
 print(extended_euclidean_algorithm(UpperCAmelCase__			,       UpperCAmelCase__       )       )
 return 0


if __name__ == "__main__":
     raise SystemExit(main())






"""simple docstring"""
import doctest

import projectq
from projectq.ops import H, Measure
def   A_    (     _lowercase      ):







						'''simple docstring'''


						snake_case_					:Union[str, Any]		=     quantum_engine.allocate_qubit()
						H | qubit
						Measure | qubit
						return int(_lowercase      )


if __name__ == "__main__":
						doctest.testmod()

						# initialises a new quantum backend
						__a           =							projectq.MainEngine()

						# Generate a list of 10 random numbers
						__a           =							[get_random_number(quantum_engine) for _ in range(10)]

						# Flushes the quantum engine from memory
						quantum_engine.flush()

						print("Random numbers", random_numbers_list)
