



class      UpperCamelCase    :



	def __init__(       self		):
							A__							=       {}



	def 			__A							(       self		):
							print(self.vertex		)
							for i in self.vertex:
													print(UpperCAmelCase__			,	" -> "			,	" -> ".join([str(UpperCAmelCase__		) for j in self.vertex[i]]		)		)



	def 			__A							(       self			,	UpperCAmelCase__			,	UpperCAmelCase__		):
							# check if vertex is already present,
							if from_vertex in self.vertex:
													self.vertex[from_vertex].append(UpperCAmelCase__		)
							else:
													# else make a new vertex
													A__							=       [to_vertex]



	def 			__A							(       self		):
							# visited array for storing already visited nodes
							A__							=       [False] * len(self.vertex		)

							# call the recursive helper function
							for i in range(len(self.vertex		)		):
													if not visited[i]:
																			self.dfs_recursive(UpperCAmelCase__			,	UpperCAmelCase__		)



	def 			__A							(       self			,	UpperCAmelCase__			,	UpperCAmelCase__		):
							# mark start vertex as visited
							A__							=       True

							print(UpperCAmelCase__			,	end=" "		)

							# Recur for all the vertices that are adjacent to this node
							for i in self.vertex:
													if not visited[i]:
																			self.dfs_recursive(UpperCAmelCase__			,	UpperCAmelCase__		)


if __name__ == "__main__":
						UpperCAmelCase_							:      List[Any]      =  Graph()
						g.add_edge(0, 1)
						g.add_edge(0, 2)
						g.add_edge(1, 2)
						g.add_edge(2, 0)
						g.add_edge(2, 3)
						g.add_edge(3, 3)

						g.print_graph()
						print("DFS:")
						g.dfs()

						# OUTPUT:
						# 0  ->  1 -> 2
						# 1  ->  2
						# 2  ->  0 -> 3
						# 3  ->  3
						# DFS:
						#  0 1 2 3










import math
from collections.abc import Iterator
from itertools import takewhile
def  UpperCamelCase						(       _A			:				int    )->       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(_A    ) + 1    )			,							6    ):
												if number % i == 0 or number % (i + 2) == 0:
																		return False
						return True
def  UpperCamelCase						(       )->       Iterator[int]:





						"""simple docstring"""





						A__							=       2
						while True:
												if is_prime(_A    ):
																		yield num
												num += 1
def  UpperCamelCase						(       _A			:				int = 2000000    )->       int:





						"""simple docstring"""





						return sum(takewhile(lambda _A    : x < n			,							prime_generator()    )    )


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





