

'''simple docstring'''




import itertools
import math




def 							lowerCamelCase			(   UpperCAmelCase__ :      int				)    ->   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(__UpperCamelCase				) + 1				)   ,   6				):
														if number % i == 0 or number % (i + 2) == 0:
																					return False
							return True




def 							lowerCamelCase			(   )    ->   int:
							lowercase_      :    List[Any]       		= 2
							while True:
														if is_prime(__UpperCamelCase				):
																					yield num
														num += 1




def 							lowerCamelCase			(   UpperCAmelCase__ :      int = 10001				)    ->   int:
							return next(itertools.islice(prime_generator()   ,   nth - 1   ,   __UpperCamelCase				)				)


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






'''simple docstring'''




from collections.abc import Callable

import numpy as np




def 							lowerCamelCase			(   UpperCAmelCase__ :      Callable   ,   UpperCAmelCase__ :      float   ,   UpperCAmelCase__ :      float   ,   UpperCAmelCase__ :      float   ,   UpperCAmelCase__ :      float				)    ->   np.array:
							lowercase_      :    Any       		= int(np.ceil((x_end - xa) / step_size				)				)
							lowercase_      :    List[Any]       		= np.zeros((n + 1,)				)
							lowercase_      :    List[Any]       		= ya
							lowercase_      :    List[str]       		= xa

							for k in range(UpperCAmelCase__				):
														lowercase_      :    Optional[Any]       		= y[k] + step_size * ode_func(UpperCAmelCase__   ,   y[k]				)
														lowercase_      :    List[Any]       		= y[k] + (
														    (step_size / 2) * (ode_func(UpperCAmelCase__   ,   y[k]				) + ode_func(x + step_size   ,   UpperCAmelCase__				))
														)
														x += step_size

							return y


if __name__ == "__main__":
						import doctest

						doctest.testmod()





