




def 							__SCREAMING_SNAKE_CASE						(    snake_case_			,					snake_case_		):

						'''simple docstring'''


						_UpperCAmelCase									=  sorted(snake_case_			,					key=lambda snake_case_		: edge[2]		)

						_UpperCAmelCase									=  list(range(snake_case_		)		)

						def find_parent(snake_case_		):
												if i != parent[i]:
																		_UpperCAmelCase									=  find_parent(parent[i]		)
												return parent[i]

						_UpperCAmelCase									=  0
						_UpperCAmelCase									=  []

						for edge in edges:
												_UpperCAmelCase									=  find_parent(edge[0]		)
												_UpperCAmelCase									=  find_parent(edge[1]		)
												if parent_a != parent_b:
																		minimum_spanning_tree_cost += edge[2]
																		minimum_spanning_tree.append(snake_case_		)
																		_UpperCAmelCase									=  parent_b

						return minimum_spanning_tree


if __name__ == "__main__":  # pragma: no cover
				lowercase_			:       Any						       =				list(map(int, input().strip().split()))
				lowercase_			:       List[Any]						       =				[]

				for _ in range(num_edges):
								lowercase_			:       str						       =				(int(x) for x in input().strip().split())
								edges.append((nodea, nodea, cost))

				kruskal(num_nodes, edges)








from math import exp


def 							__SCREAMING_SNAKE_CASE						(    snake_case_		):

						'''simple docstring'''


						return 8 * x - 2 * exp(-x		)


def 							__SCREAMING_SNAKE_CASE						(    snake_case_			,					snake_case_			,					snake_case_		):

						'''simple docstring'''


						_UpperCAmelCase									=  lower_bound
						_UpperCAmelCase									=  upper_bound
						for _ in range(0			,					snake_case_		):
												_UpperCAmelCase							,				_UpperCAmelCase									=  xa, xa - (f(snake_case_		) * (xa - xa)) / (f(snake_case_		) - f(snake_case_		))
						return xa


if __name__ == "__main__":
				print(f"""Example: {secant_method(1, 3, 2)}""")




