


from __future__ import annotations

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

SCREAMING_SNAKE_CASE				:						str			   = {
    "A": ["B", "C"],
    "B": ["A", "D", "E"],
    "C": ["A", "F"],
    "D": ["B"],
    "E": ["B", "F"],
    "F": ["C", "E"],
}




def 			UpperCamelCase			(					_a				,						_a						)    ->							list[str]:
     '''simple docstring'''





     lowercase_				:int       			=				{start}
     lowercase_				:Optional[int]       			=				[start]
     lowercase_				:Union[str, Any]       			=				Queue()
     queue.put(lowercase_						)
     while not queue.empty():
          lowercase_				:Any       			=				queue.get()
          for w in graph[v]:
               if w not in explored:
                    explored.add(lowercase_						)
                    result.append(lowercase_						)
                    queue.put(lowercase_						)
     return result




def 			UpperCamelCase			(					_a				,						_a						)    ->							list[str]:
     '''simple docstring'''





     lowercase_				:Union[str, Any]       			=				{start}
     lowercase_				:str       			=				[start]
     lowercase_				:Optional[int]       			=				deque([start]						)
     while queue:
          lowercase_				:Optional[Any]       			=				queue.popleft()
          for child in graph[v]:
               if child not in visited:
                    visited.add(lowercase_						)
                    result.append(lowercase_						)
                    queue.append(lowercase_						)
     return result




def 			UpperCamelCase			(					_a						)    ->							None:
     '''simple docstring'''





     lowercase_				:Optional[Any]       			=				f"from __main__ import G, {name}"
     lowercase_				:Any       			=				1_0_0_0_0
     lowercase_				:Optional[int]       			=				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







def     __SCREAMING_SNAKE_CASE      (     lowercase_    ,   lowercase_					)				->		int:

    """simple docstring"""


    __UpperCamelCase     						=  1.0
    for i in range(1    ,   r + 1					):
        ret *= (n + 1 - i) / i
    return round(lowercase_					)




def     __SCREAMING_SNAKE_CASE      (     lowercase_					)				->		int:

    """simple docstring"""


    return choose(8 + n    ,   lowercase_					) + choose(9 + n    ,   lowercase_					) - 10




def     __SCREAMING_SNAKE_CASE      (     lowercase_					)				->		int:

    """simple docstring"""


    return sum(non_bouncy_exact(lowercase_					) for i in range(1    ,   n + 1					)					)




def     __SCREAMING_SNAKE_CASE      (     lowercase_ = 1_00					)				->		int:

    """simple docstring"""


    return non_bouncy_upto(lowercase_					)


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






