
'''simple docstring'''






def 		A_       (	_lowerCAmelCase   :    list							):



      """simple docstring"""




      if any(not isinstance(_lowerCAmelCase				,	_lowerCAmelCase							) or x < 0 for x in sequence							):
            raise TypeError("Sequence must be list of non-negative integers"							)
      for _ in range(len(_lowerCAmelCase							)							):
            for i, (rod_upper, rod_lower) in enumerate(zip(_lowerCAmelCase				,	sequence[1:]							)							):
                  if rod_upper > rod_lower:
                        sequence[i] -= rod_upper - rod_lower
                        sequence[i + 1] += rod_upper - rod_lower
      return sequence


if __name__ == "__main__":
 assert bead_sort([5, 4, 3, 2, 1]) == [1, 2, 3, 4, 5]
 assert bead_sort([7, 9, 4, 3, 5]) == [3, 4, 5, 7, 9]

'''simple docstring'''






from __future__ import annotations







def 		A_       (	_lowerCAmelCase   :    list[int]				,	_lowerCAmelCase   :    int				,	_lowerCAmelCase   :    int				,	_lowerCAmelCase   :    int							):



      """simple docstring"""




      if (direction == 1 and array[indexa] > array[indexa]) or (
          direction == 0 and array[indexa] < array[indexa]
      ):
            _lowerCamelCase						,		_lowerCamelCase				:   List[Any]								=   array[indexa], array[indexa]







def 		A_       (	_lowerCAmelCase   :    list[int]				,	_lowerCAmelCase   :    int				,	_lowerCAmelCase   :    int				,	_lowerCAmelCase   :    int							):



      """simple docstring"""




      if length > 1:
            _lowerCamelCase				:   Optional[int]								=   int(length / 2							)
            for i in range(_lowerCAmelCase				,	low + middle							):
                  comp_and_swap(_lowerCAmelCase				,	_lowerCAmelCase				,	i + middle				,	_lowerCAmelCase							)
            bitonic_merge(_lowerCAmelCase				,	_lowerCAmelCase				,	_lowerCAmelCase				,	_lowerCAmelCase							)
            bitonic_merge(_lowerCAmelCase				,	low + middle				,	_lowerCAmelCase				,	_lowerCAmelCase							)







def 		A_       (	_lowerCAmelCase   :    list[int]				,	_lowerCAmelCase   :    int				,	_lowerCAmelCase   :    int				,	_lowerCAmelCase   :    int							):



      """simple docstring"""




      if length > 1:
            _lowerCamelCase				:   Optional[Any]								=   int(length / 2							)
            bitonic_sort(_lowerCAmelCase				,	_lowerCAmelCase				,	_lowerCAmelCase				,	1							)
            bitonic_sort(_lowerCAmelCase				,	low + middle				,	_lowerCAmelCase				,	0							)
            bitonic_merge(_lowerCAmelCase				,	_lowerCAmelCase				,	_lowerCAmelCase				,	_lowerCAmelCase							)


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

 bitonic_sort(unsorted, 0, len(unsorted), 1)
 print('\nSorted array in ascending order is: ', end='')
 print(*unsorted, sep=', ')

 bitonic_merge(unsorted, 0, len(unsorted), 0)
 print('Sorted array in descending order is: ', end='')
 print(*unsorted, sep=', ')