

'''simple docstring'''
def 	UpperCamelCase   (       lowercase_						:    int     ,					lowercase_						:    int	)		->	int:




  '''simple docstring'''



  return abs(lowercase_	) if a == 0 else greatest_common_divisor(b % a     ,					lowercase_	)




def 	UpperCamelCase   (       lowercase_						:    int     ,					lowercase_						:    int	)		->	int:




  '''simple docstring'''



  while y:  # --> when y=0 then loop will terminate and return x as final GCD.
    lowercase							, lowercase									=y, x % y
  return abs(lowercase_	)




def 	UpperCamelCase   (       )		->	Union[str, Any]:




  '''simple docstring'''



  try:
    lowercase									=input('''Enter two integers separated by comma (,): '''	).split(''','''	)
    lowercase									=int(nums[0]	)
    lowercase									=int(nums[1]	)
    print(
        f'greatest_common_divisor({num_a}, {num_a}) = '
        f'{greatest_common_divisor(lowercase_     ,					lowercase_	)}'	)
    print(f'By iterative gcd({num_a}, {num_a}) = {gcd_by_iterative(lowercase_     ,					lowercase_	)}'	)
  except (IndexError, UnboundLocalError, ValueError):
    print('''Wrong input'''	)


if __name__ == "__main__":
     main()





'''simple docstring'''

from __future__ import annotations

from bisect import bisect_left
from functools import total_ordering
from heapq import merge






@total_ordering
class 						a_		(     snake_case    ):


							def __lt__(				self   :						List[Any]      ,						a_   :						Optional[int]			)			->					List[str]:
										return self[-1] < other[-1]




							def __eq__(				self   :						int      ,						a_   :						Union[str, Any]			)			->					List[str]:
										return self[-1] == other[-1]







def a_     (    __UpperCAmelCase					)				->					list:





			"""simple docstring"""







			snake_case:    list[Stack]      							=[]
			# sort into stacks
			for element in collection:
						snake_case:    int      							=Stack([element]					)
						snake_case:    Union[str, Any]      							=bisect_left(__UpperCAmelCase				,							__UpperCAmelCase					)
						if i != len(__UpperCAmelCase					):
									stacks[i].append(__UpperCAmelCase					)
						else:
									stacks.append(__UpperCAmelCase					)

    # use a heap-based merge to merge stack efficiently
			snake_case:    int      							=merge(*(reversed(__UpperCAmelCase					) for stack in stacks)					)
			return collection


if __name__ == "__main__":
	a							   =				input('Enter numbers separated by a comma:\n').strip()
	a							   =				[int(item) for item in user_input.split(',')]
	print(patience_sort(unsorted))




