




def 							_UpperCAmelCase  (UpperCamelCase_ : Dict       ):
				'''simple docstring'''
				return [
				    {
				        0: [1, 2],
				        1: [0, 2],
				        2: [0, 1, 3, 5],
				        3: [2, 4],
				        4: [3],
				        5: [2, 6, 8],
				        6: [5, 7],
				        7: [6, 8],
				        8: [5, 7],
				    },
				    {
				        0: [6],
				        1: [9],
				        2: [4, 5],
				        3: [4],
				        4: [2, 3],
				        5: [2],
				        6: [0, 7],
				        7: [6],
				        8: [],
				        9: [1],
				    },
				    {
				        0: [4],
				        1: [6],
				        2: [],
				        3: [5, 6, 7],
				        4: [0, 6],
				        5: [3, 8, 9],
				        6: [1, 3, 4, 7],
				        7: [3, 6, 8, 9],
				        8: [5, 7],
				        9: [5, 7],
				    },
				    {
				        0: [1, 3],
				        1: [0, 2, 4],
				        2: [1, 3, 4],
				        3: [0, 2, 4],
				        4: [1, 2, 3],
				    },
				][index]




def 							_UpperCAmelCase  (UpperCamelCase_ : dict[int, list[int]]       ):
				'''simple docstring'''
				_lowerCAmelCase    :    Optional[int]										=      0
				_lowerCAmelCase    :    Tuple										=      len(UpperCamelCase_       )  # No of vertices in graph
				_lowerCAmelCase    :    Tuple										=      [0] * n
				_lowerCAmelCase    :    Tuple										=      [False] * n

				def dfs(UpperCamelCase_ : Dict      ,    UpperCamelCase_ : List[str]      ,    UpperCamelCase_ : List[Any]      ,    UpperCamelCase_ : List[Any]       ):
								_lowerCAmelCase    :    Optional[Any]										=      True
								_lowerCAmelCase    :    Union[str, Any]										=      id_
								id_ += 1
								for to in graph[at]:
												if to == parent:
																pass
												elif not visited[to]:
																dfs(UpperCamelCase_      ,    UpperCamelCase_      ,    UpperCamelCase_      ,    id_       )
																_lowerCAmelCase    :    int										=      min(low[at]      ,    low[to]       )
																if id_ <= low[to]:
																				bridges.append((at, to) if at < to else (to, at)       )
												else:
																# This edge is a back edge and cannot be a bridge
																_lowerCAmelCase    :    int										=      min(low[at]      ,    low[to]       )

				_lowerCAmelCase    :    list[tuple[int, int]]										=      []
				for i in range(UpperCamelCase_       ):
								if not visited[i]:
												dfs(UpperCamelCase_      ,    -1      ,    UpperCamelCase_      ,    id_       )
				return bridges


if __name__ == "__main__":
	import doctest

	doctest.testmod()







from math import loga




def 							_UpperCAmelCase  (UpperCamelCase_ : int       ):
				'''simple docstring'''
				if a < 0:
								raise ValueError("""Input value must be a positive integer"""       )
				elif isinstance(UpperCamelCase_      ,    UpperCamelCase_       ):
								raise TypeError("""Input value must be a 'int' type"""       )
				return 0 if (a == 0) else int(loga(a & -a       )       )


if __name__ == "__main__":
	import doctest

	doctest.testmod()

