





"""simple docstring"""






def      lowercase__ (					lowerCAmelCase__   :			dict			)    ->			bool:



			'''simple docstring'''
			a__  :	set[int]		 =			set()
			# To detect a back edge, keep track of vertices currently in the recursion stack
			a__  :	set[int]		 =			set()
			return any(
			    node not in visited and depth_first_search(lowerCAmelCase__							,			lowerCAmelCase__							,			lowerCAmelCase__							,			lowerCAmelCase__			)
			    for node in graph			)






def      lowercase__ (					lowerCAmelCase__   :			dict							,			lowerCAmelCase__   :			int							,			lowerCAmelCase__   :			set							,			lowerCAmelCase__   :			set			)    ->			bool:



			'''simple docstring'''
			visited.add(lowerCAmelCase__			)
			rec_stk.add(lowerCAmelCase__			)

			for node in graph[vertex]:
						if node not in visited:
									if depth_first_search(lowerCAmelCase__							,			lowerCAmelCase__							,			lowerCAmelCase__							,			lowerCAmelCase__			):
												return True
						elif node in rec_stk:
									return True

    # The node needs to be removed from recursion stack before function ends
			rec_stk.remove(lowerCAmelCase__			)
			return False


if __name__ == "__main__":
		from doctest import testmod

		testmod()






"""simple docstring"""






from __future__ import annotations






def      lowercase__ (					lowerCAmelCase__   :			int			)    ->			list[int]:



			'''simple docstring'''
			a__  :	Tuple		 =			[True] * limit
			a__  :	Tuple		 =			False
			a__  :	int		 =			False
			a__  :	Tuple		 =			True

			for i in range(3							,			int(limit**0.5 + 1			)							,			2			):
						a__  :	int		 =			i * 2
						while index < limit:
									a__  :	Union[str, Any]		 =			False
									a__  :	int		 =			index + i

			a__  :	str		 =			[2]

			for i in range(3							,			lowerCAmelCase__							,			2			):
						if is_prime[i]:
									primes.append(lowerCAmelCase__			)

			return primes






def      lowercase__ (					lowerCAmelCase__   :			int = 1_0_0_0_0_0_0			)    ->			int:



			'''simple docstring'''
			a__  :	List[Any]		 =			prime_sieve(lowerCAmelCase__			)
			a__  :	int		 =			0
			a__  :	str		 =			0

			for i in range(len(lowerCAmelCase__			)			):
						for j in range(i + length							,			len(lowerCAmelCase__			)			):
									a__  :	List[str]		 =			sum(primes[i:j]			)
									if sol >= ceiling:
												break

									if sol in primes:
												a__  :	Tuple		 =			j - i
												a__  :	Union[str, Any]		 =			sol

			return largest


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