






from __future__ import annotations






def 				lowerCamelCase__				(_UpperCAmelCase):
			if len(_UpperCAmelCase) == 0:
						return array

			SCREAMING_SNAKE_CASE				,						SCREAMING_SNAKE_CASE						= min(_UpperCAmelCase), max(_UpperCAmelCase)

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

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

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

    # Returns the sorted array.
			return array


if __name__ == "__main__":
				import doctest

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












# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import doctest
import sys
import warnings
from os.path import abspath, dirname, join

import _pytest

from transformers.testing_utils import HfDoctestModule, HfDocTestParser


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
a_		:						List[str]             =    abspath(join(dirname(__file__), 'src'))
sys.path.insert(1, git_repo_path)

# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action='ignore', category=FutureWarning)






def 				lowerCamelCase__				(_UpperCAmelCase):
			config.addinivalue_line(
			    'markers'							,       'is_pt_tf_cross_test: mark test to run only when PT and TF interactions are tested')
			config.addinivalue_line(
			    'markers'							,       'is_pt_flax_cross_test: mark test to run only when PT and FLAX interactions are tested')
			config.addinivalue_line('markers'							,       'is_pipeline_test: mark test to run only when pipelines are tested')
			config.addinivalue_line('markers'							,       'is_staging_test: mark test to run only in the staging environment')
			config.addinivalue_line('markers'							,       'accelerate_tests: mark test that require accelerate')
			config.addinivalue_line('markers'							,       'tool_tests: mark the tool tests that are run on their specific schedule')






def 				lowerCamelCase__				(_UpperCAmelCase):
			from transformers.testing_utils import pytest_addoption_shared

			pytest_addoption_shared(_UpperCAmelCase)






def 				lowerCamelCase__				(_UpperCAmelCase):
			from transformers.testing_utils import pytest_terminal_summary_main

			SCREAMING_SNAKE_CASE						= terminalreporter.config.getoption('--make-reports')
			if make_reports:
						pytest_terminal_summary_main(_UpperCAmelCase							,       id=_UpperCAmelCase)






def 				lowerCamelCase__				(_UpperCAmelCase							,       _UpperCAmelCase):
			# If no tests are collected, pytest exists with code 5, which makes the CI fail.
			if exitstatus == 5:
						SCREAMING_SNAKE_CASE						= 0


# Doctest custom flag to ignore output.
a_		:						List[Any]             =    doctest.register_optionflag('IGNORE_RESULT')

a_		:						Any             =    doctest.OutputChecker

class 		_snake_case  (  A__					):






			def    SCREAMING_SNAKE_CASE__    (       self		,					a		,					a		,					a)      ->       List[Any]:
						if IGNORE_RESULT & optionflags:
									return True
						return OutputChecker.check_output(self		,					a		,					a		,					a)



a_		:						int             =    CustomOutputChecker
a_		:						List[str]             =    HfDoctestModule







a_		:						Optional[int]             =    HfDocTestParser




