


def        _UpperCamelCase							(      lowercase__      ):
						__SCREAMING_SNAKE_CASE						:     Union[str, Any]					=		set()
						# edges = list of graph's edges
						__SCREAMING_SNAKE_CASE						:     List[str]					=		get_edges(lowercase__      )

						# While there are still elements in edges list, take an arbitrary edge
						# (from_node, to_node) and add his extremity to chosen_vertices and then
						# remove all arcs adjacent to the from_node and to_node
						while edges:
												__SCREAMING_SNAKE_CASE			,			__SCREAMING_SNAKE_CASE						:     int					=		edges.pop()
												chosen_vertices.add(lowercase__      )
												chosen_vertices.add(lowercase__      )
												for edge in edges.copy():
																		if from_node in edge or to_node in edge:
																								edges.discard(lowercase__      )
						return chosen_vertices


def        _UpperCamelCase							(      lowercase__      ):
						__SCREAMING_SNAKE_CASE						:     Optional[int]					=		set()
						for from_node, to_nodes in graph.items():
												for to_node in to_nodes:
																		edges.add((from_node, to_node)      )
						return edges


if __name__ == "__main__":
						import doctest

						doctest.testmod()

						# graph = {0: [1, 3], 1: [0, 3], 2: [0, 3, 4], 3: [0, 1, 2], 4: [2, 3]}
						# print(f"Matching vertex cover:\n{matching_min_vertex_cover(graph)}")


def       A       (					lowercase )   ->  list:
		'''simple docstring'''

		UpperCamelCase		=     len(lowercase )
		for i in range(1    ,       lowercase ):
				UpperCamelCase		=     collection[i]
				UpperCamelCase		=     0
				UpperCamelCase		=     i - 1

				while low <= high:
						UpperCamelCase		=     (low + high) // 2
						if val < collection[mid]:
								UpperCamelCase		=     mid - 1
						else:
								UpperCamelCase		=     mid + 1
				for j in range(lowercase    ,       lowercase    ,       -1 ):
						UpperCamelCase		=     collection[j - 1]
				UpperCamelCase		=     val
		return collection


if __name__ == "__main__":
					_UpperCAmelCase					: List[Any]      =       input("Enter numbers separated by a comma:\n").strip()
					_UpperCAmelCase					: Optional[int]      =       [int(item) for item in user_input.split(",")]
					print(binary_insertion_sort(unsorted))
