

"""simple docstring"""




from __future__ import annotations

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

__A	:       Union[str, Any]        =						{
    'A': ['B', 'C'],
    'B': ['A', 'D', 'E'],
    'C': ['A', 'F'],
    'D': ['B'],
    'E': ['B', 'F'],
    'F': ['C', 'E'],
}
def   __SCREAMING_SNAKE_CASE		(		lowercase__     ,				lowercase__ ):
					"""simple docstring"""
					A     =   {start}
					A     =   [start]
					A     =   Queue()
					queue.put(lowercase__ )
					while not queue.empty():
										A     =   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		(		lowercase__     ,				lowercase__ ):
					"""simple docstring"""
					A     =   {start}
					A     =   [start]
					A     =   deque([start] )
					while queue:
										A     =   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		(		lowercase__ ):
					"""simple docstring"""
					A     =   F"""from __main__ import G, {name}"""
					A     =   10_000
					A     =   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 	lowerCAmelCase__      (  lowerCamelCase__      )			->				List[str]:
							A    =       [701, 301, 132, 57, 23, 10, 4, 1]
							for gap in gaps:
														for i in range(lowerCamelCase__					,   len(lowerCamelCase__      )      ):
																					A    =       collection[i]
																					A    =       i
																					while j >= gap and collection[j - gap] > insert_value:
																												A    =       collection[j - gap]
																												j -= gap
																					if j != i:
																												A    =       insert_value
							return collection


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

							testmod()
							A     =      input('Enter numbers separated by a comma:\n').strip()
							A     =      [int(item) for item in user_input.split(',')]
							print(shell_sort(unsorted))



