



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())





from __future__ import annotations

from statistics import mean




def SCREAMING_SNAKE_CASE_  (				__lowerCamelCase:		list[int]  ):







	'''simple docstring'''



	lowercase_			 = 2
	lowercase_			 = list(__lowerCamelCase  )
	lowercase_			 = [0] * len(__lowerCamelCase  )
	lowercase_			 = 0
	while True:
		lowercase_			 = True
		for i, burst_time in enumerate(__lowerCamelCase  ):
			if rem_burst_times[i] > 0:
				lowercase_			 = False
				if rem_burst_times[i] > quantum:
					t += quantum
					rem_burst_times[i] -= quantum
				else:
					t += rem_burst_times[i]
					lowercase_			 = t - burst_time
					lowercase_			 = 0
		if done is True:
			return waiting_times




def SCREAMING_SNAKE_CASE_  (				__lowerCamelCase:		list[int]  ,			__lowerCamelCase:		list[int]  ):







	'''simple docstring'''



	return [burst + waiting for burst, waiting in zip(__lowerCamelCase  ,			__lowerCamelCase  )]


if __name__ == "__main__":
							SCREAMING_SNAKE_CASE__       			=				[3, 5, 7]
							SCREAMING_SNAKE_CASE__       			=				calculate_waiting_times(burst_times)
							SCREAMING_SNAKE_CASE__       			=				calculate_turn_around_times(burst_times, waiting_times)
							print("""Process ID \tBurst Time \tWaiting Time \tTurnaround Time""")
							for i, burst_time in enumerate(burst_times):
														print(
														    f"""  {i + 1}\t\t  {burst_time}\t\t  {waiting_times[i]}\t\t  """
														    f"""{turn_around_times[i]}"""
														)
							print(f"""\nAverage waiting time = {mean(waiting_times):.5f}""")
							print(f"""Average turn around time = {mean(turn_around_times):.5f}""")

