





'''simple docstring'''




def 	_lowerCAmelCase      (  __snake_case  :			dict      )					->					set:
     __A						:			Dict								=	set()
     # edges = list of graph's edges
     __A						:			int								=	get_edges(__snake_case      )

     # While there are still elements in edges list, take an arbitrary edge
     # (from_node, to_node) and add his extremity to chosen_vertices and then
     # remove all arcs adjacent to the from_node and to_node
     while edges:
          __A			,__A						:			Optional[Any]								=	edges.pop()
          chosen_vertices.add(__snake_case      )
          chosen_vertices.add(__snake_case      )
          for edge in edges.copy():
               if from_node in edge or to_node in edge:
                    edges.discard(__snake_case      )
     return chosen_vertices






def 	_lowerCAmelCase      (  __snake_case  :			dict      )					->					set:
     __A						:			List[str]								=	set()
     for from_node, to_nodes in graph.items():
          for to_node in to_nodes:
               edges.add((from_node, to_node)      )
     return edges


if __name__ == "__main__":
  import doctest

  doctest.testmod()

  # graph = {0: [1, 3], 1: [0, 3], 2: [0, 3, 4], 3: [0, 1, 2], 4: [2, 3]}
  # print(f"Matching vertex cover:\n{matching_min_vertex_cover(graph)}")






'''simple docstring'''




import itertools
import math






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






def 	_lowerCAmelCase      (  )					->					List[Any]:
     __A						:			Optional[Any]								=	2
     while True:
          if is_prime(__snake_case      ):
               yield num
          num += 1






def 	_lowerCAmelCase      (  __snake_case  :			int = 1_00_01      )					->					int:
     return next(itertools.islice(prime_generator()			,							nth - 1			,							__snake_case      )      )


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