


"""simple docstring"""
import itertools
import math







def 						_a				(      _SCREAMING_SNAKE_CASE				)    ->				bool:

							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 						_a				(      )    ->				List[Any]:
							snake_case_           =		2
							while True:
														if is_prime(_SCREAMING_SNAKE_CASE				):
																					yield num
														num += 1







def 						_a				(      _SCREAMING_SNAKE_CASE = 10_001				)    ->				int:
							return next(itertools.islice(prime_generator()				, nth - 1				, _SCREAMING_SNAKE_CASE				)				)


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







"""simple docstring"""
def 						_a				(      _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				)    ->				int:
							if index == number_of_items:
														return 0
							snake_case_           =		0
							snake_case_           =		0
							snake_case_           =		knapsack(_SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, index + 1				)
							if weights[index] <= max_weight:
														snake_case_           =		values[index] + knapsack(
														    _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, max_weight - weights[index]				, index + 1				)
							return max(_SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				)


if __name__ == "__main__":
				import doctest

				doctest.testmod()



