






'''simple docstring'''


from __future__ import annotations







def 	__magic_name__( _A					):
						'''simple docstring'''





						if len(_A					) == 0:
												return array

						UpperCamelCase__    ,   UpperCamelCase__         = min(_A					), max(_A					)

						# Compute the variables
						UpperCamelCase__         = _max - _min + 1
						UpperCamelCase__    ,   UpperCamelCase__         = [0] * holes_range, [0] * holes_range

						# Make the sorting.
						for i in array:
												UpperCamelCase__         = i - _min
												UpperCamelCase__         = i
												holes_repeat[index] += 1

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

    # Returns the sorted array.
						return array


if __name__ == "__main__":
					import doctest

					doctest.testmod()
					lowerCamelCase_				: List[str]    	=							input('''Enter numbers separated by comma:\n''')
					lowerCamelCase_				: int    	=							[int(x) for x in user_input.split(''',''')]
					print(pigeon_sort(unsorted))








'''simple docstring'''


import math







def 	__magic_name__( _A					):
						'''simple docstring'''





						assert isinstance(_A						,      _A					) and (
						    number >= 0
						), "'number' must been an int and positive"

						if 1 < number < 4:
												# 2 and 3 are primes
												return True
						elif number < 2 or not number % 2:
												# Negatives, 0, 1 and all even numbers are not primes
												return False

						UpperCamelCase__         = range(3						,      int(math.sqrt(_A					) + 1					)						,      2					)
						return not any(not number % i for i in odd_numbers					)







def 	__magic_name__( _A						,      _A=1						,      **_A					):
						'''simple docstring'''





						UpperCamelCase__         = factor * value
						UpperCamelCase__         = value

						while not is_prime(_A					):
												value += 1 if not ("desc" in kwargs and kwargs["desc"] is True) else -1

						if value == first_value_val:
												return next_prime(value + 1						,      **_A					)
						return value
