
from __future__ import annotations

from collections import deque
from queue import Queue
from timeit import timeit

__magic_name__   				=     {
    'A': ['B', 'C'],
    'B': ['A', 'D', 'E'],
    'C': ['A', 'F'],
    'D': ['B'],
    'E': ['B', 'F'],
    'F': ['C', 'E'],
}





def 		SCREAMING_SNAKE_CASE__			(					__lowerCAmelCase			,						__lowerCAmelCase							):
    snake_case__  = {start}
    snake_case__  = [start]
    snake_case__  = Queue()
    queue.put(lowercase__							)
    while not queue.empty():
        snake_case__  = queue.get()
        for w in graph[v]:
            if w not in explored:
                explored.add(lowercase__							)
                result.append(lowercase__							)
                queue.put(lowercase__							)
    return result





def 		SCREAMING_SNAKE_CASE__			(					__lowerCAmelCase			,						__lowerCAmelCase							):
    snake_case__  = {start}
    snake_case__  = [start]
    snake_case__  = deque([start]							)
    while queue:
        snake_case__  = queue.popleft()
        for child in graph[v]:
            if child not in visited:
                visited.add(lowercase__							)
                result.append(lowercase__							)
                queue.append(lowercase__							)
    return result





def 		SCREAMING_SNAKE_CASE__			(					__lowerCAmelCase							):
    snake_case__  = F"""from __main__ import G, {name}"""
    snake_case__  = 10_000
    snake_case__  = timeit(F"""{name}(G, 'A')"""			,						setup=lowercase__			,						number=lowercase__							)
    print(F"""{name:<35} finished {number} runs in {res:.5f} seconds"""							)


if __name__ == "__main__":
     import doctest

     doctest.testmod()

     benchmark_function('''breadth_first_search''')
     benchmark_function('''breadth_first_search_with_deque''')
     # breadth_first_search                finished 10000 runs in 0.20999 seconds
     # breadth_first_search_with_deque     finished 10000 runs in 0.01421 seconds






"""simple docstring"""




def    __SCREAMING_SNAKE_CASE						(						lowercase__ = 1_000      ):
					"""simple docstring"""
					return sum(i for i in range(lowercase__      ) if i % 3 == 0 or i % 5 == 0      )


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





