


def      a	(							SCREAMING_SNAKE_CASE_      :		Optional[Any]							,			SCREAMING_SNAKE_CASE_      :		Optional[int]							,			SCREAMING_SNAKE_CASE_      :		str							,			SCREAMING_SNAKE_CASE_      :		Optional[int]							,			SCREAMING_SNAKE_CASE_      :		Optional[Any]							,			SCREAMING_SNAKE_CASE_      :		Any       ):






       """simple docstring"""





       if index == r:
              for j in range(SCREAMING_SNAKE_CASE_       ):
                     print(data[j]							,			end=''' '''       )
              print(''' '''       )
              return
       #  When no more elements are there to put in data[]
       if i >= n:
              return
       # current is included, put next at next location
       UpperCamelCase    :	Optional[Any]   	=		arr[i]
       combination_util(SCREAMING_SNAKE_CASE_							,			SCREAMING_SNAKE_CASE_							,			SCREAMING_SNAKE_CASE_							,			index + 1							,			SCREAMING_SNAKE_CASE_							,			i + 1       )
       # current is excluded, replace it with
       # next (Note that i+1 is passed, but
       # index is not changed)
       combination_util(SCREAMING_SNAKE_CASE_							,			SCREAMING_SNAKE_CASE_							,			SCREAMING_SNAKE_CASE_							,			SCREAMING_SNAKE_CASE_							,			SCREAMING_SNAKE_CASE_							,			i + 1       )
       # The main function that prints all combinations
       # of size r in arr[] of size n. This function
       # mainly uses combinationUtil()


def      a	(							SCREAMING_SNAKE_CASE_      :		int							,			SCREAMING_SNAKE_CASE_      :		int							,			SCREAMING_SNAKE_CASE_      :		Any       ):






       """simple docstring"""





       UpperCamelCase    :	List[str]   	=		[0] * r
       # Print all combination using temporary array 'data[]'
       combination_util(SCREAMING_SNAKE_CASE_							,			SCREAMING_SNAKE_CASE_							,			SCREAMING_SNAKE_CASE_							,			0							,			SCREAMING_SNAKE_CASE_							,			0       )


if __name__ == "__main__":
  # Driver code to check the function above
  __UpperCAmelCase : Optional[int] 			=				[10, 20, 30, 40, 50]
  print_combination(arr, len(arr), 3)
  # This code is contributed by Ambuj sahu





from __future__ import annotations


def      a	(							SCREAMING_SNAKE_CASE_      :		list[int]       ):






       """simple docstring"""





       if len(SCREAMING_SNAKE_CASE_       ) == 0:
              return array

       UpperCamelCase	, UpperCamelCase    :	Union[str, Any]   	=		min(SCREAMING_SNAKE_CASE_       ), max(SCREAMING_SNAKE_CASE_       )

       # Compute the variables
       UpperCamelCase    :	Union[str, Any]   	=		_max - _min + 1
       UpperCamelCase	, UpperCamelCase    :	Optional[Any]   	=		[0] * holes_range, [0] * holes_range

       # Make the sorting.
       for i in array:
              UpperCamelCase    :	Optional[int]   	=		i - _min
              UpperCamelCase    :	Any   	=		i
              holes_repeat[index] += 1

       # Makes the array back by replacing the numbers.
       UpperCamelCase    :	str   	=		0
       for i in range(SCREAMING_SNAKE_CASE_       ):
              while holes_repeat[i] > 0:
                     UpperCamelCase    :	List[Any]   	=		holes[i]
                     index += 1
                     holes_repeat[i] -= 1

    # Returns the sorted array.
       return array


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  __UpperCAmelCase : Any 			=				input("Enter numbers separated by comma:\n")
  __UpperCAmelCase : int 			=				[int(x) for x in user_input.split(",")]
  print(pigeon_sort(unsorted))

