



"""simple docstring"""







def       _lowerCamelCase				(							UpperCAmelCase_ :       Union[str, Any]     )	-> Optional[Any]:  # noqa: E741






	"""simple docstring"""





	A__											=					len(UpperCAmelCase_     )
	A__											=					0
	A__											=					[0] * n
	A__											=					[False] * n
	A__											=					[False] * n

	def dfs(UpperCAmelCase_ :       Any,	UpperCAmelCase_ :       Union[str, Any],	UpperCAmelCase_ :       Optional[int],	UpperCAmelCase_ :       Optional[int]     ):
		if parent == root:
			out_edge_count += 1
		A__											=					True
		A__											=					at

		for to in l[at]:
			if to == parent:
				pass
			elif not visited[to]:
				A__											=					dfs(UpperCAmelCase_,	UpperCAmelCase_,	UpperCAmelCase_,	UpperCAmelCase_     )
				A__											=					min(low[at],	low[to]     )

				# AP found via bridge
				if at < low[to]:
					A__											=					True
				# AP found via cycle
				if at == low[to]:
					A__											=					True
			else:
				A__											=					min(low[at],	UpperCAmelCase_     )
		return out_edge_count

	for i in range(UpperCAmelCase_     ):
		if not visited[i]:
			A__											=					0
			A__											=					dfs(UpperCAmelCase_,	UpperCAmelCase_,	-1,	UpperCAmelCase_     )
			A__											=					out_edge_count > 1

	for x in range(len(UpperCAmelCase_     )     ):
		if is_art[x] is True:
			print(UpperCAmelCase_     )


# Adjacency list of graph
UpperCamelCase     =							{
    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],
}




compute_ap(data)






def 				SCREAMING_SNAKE_CASE_   (      UpperCamelCase__			,		UpperCamelCase__			,		UpperCamelCase__			,		UpperCamelCase__			,		UpperCamelCase__		):
      if index == number_of_items:
            return 0
      UpperCamelCase__     : str											=					0
      UpperCamelCase__     : Optional[Any]											=					0
      UpperCamelCase__     : int											=					knapsack(UpperCamelCase__			,		UpperCamelCase__			,		UpperCamelCase__			,		UpperCamelCase__			,		index + 1		)
      if weights[index] <= max_weight:
            UpperCamelCase__     : List[Any]											=					values[index] + knapsack(
                UpperCamelCase__			,		UpperCamelCase__			,		UpperCamelCase__			,		max_weight - weights[index]			,		index + 1		)
      return max(UpperCamelCase__			,		UpperCamelCase__		)


if __name__ == "__main__":
    import doctest

    doctest.testmod()


