


import itertools
import math





def 	_lowerCAmelCase       (    _lowerCAmelCase )						->	bool:


						'''simple docstring'''






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

						# All primes number are in format of 6k +/- 1
						for i in range(5      ,	int(math.sqrt(_SCREAMING_SNAKE_CASE ) + 1 )      ,	6 ):
												if number % i == 0 or number % (i + 2) == 0:
																		return False
						return True





def 	_lowerCAmelCase       (    )						->	List[Any]:


						'''simple docstring'''






						__snake_case				=		2
						while True:
												if is_prime(_SCREAMING_SNAKE_CASE ):
																		yield num
												num += 1





def 	_lowerCAmelCase       (    _lowerCAmelCase = 1_0001 )						->	int:


						'''simple docstring'''






						return next(itertools.islice(prime_generator()      ,	nth - 1      ,	_SCREAMING_SNAKE_CASE ) )


if __name__ == "__main__":
		print(f'''{solution() = }''')









from __future__ import annotations





def 	_lowerCAmelCase       (    _lowerCAmelCase )						->	list:


						'''simple docstring'''






						if len(_lowerCAmelCase ) == 0:
												return []
						__snake_case		,					__snake_case				=		min(_lowerCAmelCase ), max(_lowerCAmelCase )
						__snake_case				=		int(max_value - min_value ) + 1
						__snake_case				=		[[] for _ in range(_lowerCAmelCase )]

						for i in my_list:
												buckets[int(i - min_value )].append(_lowerCAmelCase )

						return [v for bucket in buckets for v in sorted(_lowerCAmelCase )]


if __name__ == "__main__":
	from doctest import testmod

	testmod()
	assert bucket_sort([4, 5, 3, 2, 1]) == [1, 2, 3, 4, 5]
	assert bucket_sort([0, 1, -10, 15, 2, -2]) == [-10, -2, 0, 1, 2, 15]





