
"""simple docstring"""






from __future__ import annotations





def __A						(   a_ :							dict		,		a_ :							str     )->							Any:




		'''simple docstring'''






		SCREAMING_SNAKE_CASE       :     List[str]				= set(snake_case__     ), [start]

		while stack:
				SCREAMING_SNAKE_CASE       :     Dict				= stack.pop()
				explored.add(snake_case__     )
				# Differences from BFS:
				# 1) pop last element instead of first one
				# 2) add adjacent elements to stack without exploring them
				for adj in reversed(graph[v]     ):
						if adj not in explored:
								stack.append(snake_case__     )
		return explored


lowerCamelCase__ :       List[Any]						     =			{
    "A": ["B", "C", "D"],
    "B": ["A", "D", "E"],
    "C": ["A", "F"],
    "D": ["B", "D"],
    "E": ["B", "F"],
    "F": ["C", "E", "G"],
    "G": ["F"],
}

if __name__ == "__main__":
							import doctest

							doctest.testmod()
							print(depth_first_search(G, "A"))







"""simple docstring"""






def __A						(   a_ :							int     )->							list[int]:




		'''simple docstring'''






		if num <= 0:
				raise ValueError('''Input must be a positive integer'''     )

		SCREAMING_SNAKE_CASE       :     Optional[int]				= [True] * (num + 1)

		SCREAMING_SNAKE_CASE       :     Optional[Any]				= 2
		while p * p <= num:
				if primes[p]:
						for i in range(p * p		,		num + 1		,		a_     ):
								SCREAMING_SNAKE_CASE       :     Any				= False
				p += 1

		return [prime for prime in range(2		,		num + 1     ) if primes[prime]]


if __name__ == "__main__":
					import doctest

					doctest.testmod()

					lowerCamelCase__ :       str						     =			int(input("Enter a positive integer: ").strip())
					print(prime_sieve_eratosthenes(user_num))





