from __future__ import annotations

def 			lowercase_				(			_lowerCamelCase							:       list[int]):
    if len(_lowerCamelCase) == 0:
        return array

    lowercase__					,   lowercase__ :   Any    					=				min(_lowerCamelCase), max(_lowerCamelCase)

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

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

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

    # Returns the sorted array.
    return array


if __name__ == "__main__":
      import doctest

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






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


A_       : Optional[int]         =			{'configuration_ibert': ['IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'IBertConfig', 'IBertOnnxConfig']}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	A_       : str         =			[
	    'IBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'IBertForMaskedLM',
	    'IBertForMultipleChoice',
	    'IBertForQuestionAnswering',
	    'IBertForSequenceClassification',
	    'IBertForTokenClassification',
	    'IBertModel',
	    'IBertPreTrainedModel',
	]

if TYPE_CHECKING:
	from .configuration_ibert import IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, IBertConfig, IBertOnnxConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_ibert import (
		    IBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
		    IBertForMaskedLM,
		    IBertForMultipleChoice,
		    IBertForQuestionAnswering,
		    IBertForSequenceClassification,
		    IBertForTokenClassification,
		    IBertModel,
		    IBertPreTrainedModel,
		)

else:
	import sys

	A_       : Union[str, Any]         =			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)



