


'''simple docstring'''
# Algorithm for the pigeonhole sorting




def       a				(      __a       )  ->     Optional[Any]:



					'''simple docstring'''






					UpperCamelCase__       :Optional[Any]							 =			min(__a       )  # min() finds the minimum value
					UpperCamelCase__       :Union[str, Any]							 =			max(__a       )  # max() finds the maximum value

					UpperCamelCase__       :int							 =			max_val - min_val + 1  # size is difference of max and min values plus one

					# list of pigeonholes of size equal to the variable size
					UpperCamelCase__       :Any							 =			[0] * size

					# Populate the pigeonholes.
					for x in a:
										assert isinstance(__a			, __a       ), "integers only please"
										holes[x - min_val] += 1

					# Putting the elements back into the array in an order.
					UpperCamelCase__       :Tuple							 =			0
					for count in range(__a       ):
										while holes[count] > 0:
															holes[count] -= 1
															UpperCamelCase__       :Tuple							 =			count + min_val
															i += 1


def       a				(      )  ->     List[Any]:



					'''simple docstring'''






					UpperCamelCase__       :Optional[int]							 =			[8, 3, 2, 7, 4, 6, 8]
					pigeonhole_sort(__a       )
					print('''Sorted order is:'''			, ''' '''.join(__a       )       )


if __name__ == "__main__":
		main()



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

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


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
__snake_case											=					abspath(join(dirname(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       a				(      __a       )  ->     Optional[int]:



					'''simple docstring'''






					from diffusers.utils.testing_utils import pytest_addoption_shared

					pytest_addoption_shared(__a       )







def       a				(      __a       )  ->     str:



					'''simple docstring'''






					from diffusers.utils.testing_utils import pytest_terminal_summary_main

					UpperCamelCase__       :Union[str, Any]							 =			terminalreporter.config.getoption('''--make-reports'''       )
					if make_reports:
										pytest_terminal_summary_main(__a			, id=__a       )