




'''simple docstring'''
from __future__ import annotations

import sys





def  lowerCamelCase(       SCREAMING_SNAKE_CASE_					,SCREAMING_SNAKE_CASE_    )		->		tuple[int, int]:
			# base cases
			if abs(SCREAMING_SNAKE_CASE_    ) == 1:
						return a, 0
			elif abs(SCREAMING_SNAKE_CASE_    ) == 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  lowerCamelCase(       )		->		Tuple:
			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(SCREAMING_SNAKE_CASE_					,SCREAMING_SNAKE_CASE_    )    )
			return 0


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










'''simple docstring'''
def  lowerCamelCase(       SCREAMING_SNAKE_CASE_    )		->		list:
			A_       		=   [True for i in range(n + 1    )]
			A_       		=   [i - 1 for i in range(n + 1    )]
			A_       		=   []
			for i in range(2					,n + 1    ):
						if is_prime[i]:
									primes.append(SCREAMING_SNAKE_CASE_    )
						for j in range(0					,len(SCREAMING_SNAKE_CASE_    )    ):
									if i * primes[j] >= n:
												break
									A_       		=   False

									if i % primes[j] == 0:
												A_       		=   totients[i] * primes[j]
												break

									A_       		=   totients[i] * (primes[j] - 1)

			return totients


if __name__ == "__main__":
							import doctest

							doctest.testmod()




