

from math import sqrt


def        __lowercase    (  UpperCAmelCase__      ):

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


def        __lowercase    (  UpperCAmelCase__ = 10_001      ):

					"""simple docstring"""






					__lowerCAmelCase					=							0
					__lowerCAmelCase					=							1
					while count != nth and number < 3:
										number += 1
										if is_prime(UpperCAmelCase__      ):
															count += 1
					while count != nth:
										number += 2
										if is_prime(UpperCAmelCase__      ):
															count += 1
					return number


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









from graphs.minimum_spanning_tree_kruskal import kruskal


def        __lowercase    (  ):

					"""simple docstring"""






					__lowerCAmelCase					=							9
					__lowerCAmelCase					=							[
					    [0, 1, 4],
					    [0, 7, 8],
					    [1, 2, 8],
					    [7, 8, 7],
					    [7, 6, 1],
					    [2, 8, 2],
					    [8, 6, 6],
					    [2, 3, 7],
					    [2, 5, 4],
					    [6, 5, 2],
					    [3, 5, 14],
					    [3, 4, 9],
					    [5, 4, 10],
					    [1, 7, 11],
					]

					__lowerCAmelCase					=							kruskal(UpperCAmelCase__		,					UpperCAmelCase__      )

					__lowerCAmelCase					=							[
					    [7, 6, 1],
					    [2, 8, 2],
					    [6, 5, 2],
					    [0, 1, 4],
					    [2, 5, 4],
					    [2, 3, 7],
					    [0, 7, 8],
					    [3, 4, 9],
					]

					assert sorted(UpperCAmelCase__      ) == sorted(UpperCAmelCase__      )






