


'''simple docstring'''

def 							__magic_name__(						lowerCamelCase):
						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 							__magic_name__(						lowerCamelCase):
						__lowerCAmelCase							       =				0
						__lowerCAmelCase							       =				len(lowerCamelCase)  # No of vertices in graph
						__lowerCAmelCase							       =				[0] * n
						__lowerCAmelCase							       =				[False] * n

						def dfs(lowerCamelCase,				lowerCamelCase,				lowerCamelCase,				lowerCamelCase):
												__lowerCAmelCase							       =				True
												__lowerCAmelCase							       =				id_
												id_ += 1
												for to in graph[at]:
																		if to == parent:
																								pass
																		elif not visited[to]:
																								dfs(lowerCamelCase,				lowerCamelCase,				lowerCamelCase,				id_)
																								__lowerCAmelCase							       =				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							       =				min(low[at],				low[to])

						__lowerCAmelCase							       =				[]
						for i in range(lowerCamelCase):
												if not visited[i]:
																		dfs(lowerCamelCase,				-1,				lowerCamelCase,				id_)
						return bridges


if __name__ == "__main__":
	import doctest

	doctest.testmod()





'''simple docstring'''

from math import asin, atan, cos, radians, sin, sqrt, tan

_UpperCAmelCase				: str							    =				6_37_81_37.0
_UpperCAmelCase				: Tuple							    =				6_35_67_52.31_42_45
_UpperCAmelCase				: Optional[Any]							    =				6_3_7_8_1_3_7

def 							__magic_name__(						lowerCamelCase,				lowerCamelCase,				lowerCamelCase,				lowerCamelCase):
						__lowerCAmelCase							       =				(AXIS_A - AXIS_B) / AXIS_A
						__lowerCAmelCase							       =				atan((1 - flattening) * tan(radians(lowerCamelCase)))
						__lowerCAmelCase							       =				atan((1 - flattening) * tan(radians(lowerCamelCase)))
						__lowerCAmelCase							       =				radians(lowerCamelCase)
						__lowerCAmelCase							       =				radians(lowerCamelCase)
						# Equation
						__lowerCAmelCase							       =				sin((phi_a - phi_a) / 2)
						__lowerCAmelCase							       =				sin((lambda_a - lambda_a) / 2)
						# Square both values
						sin_sq_phi *= sin_sq_phi
						sin_sq_lambda *= sin_sq_lambda
						__lowerCAmelCase							       =				sqrt(sin_sq_phi + (cos(lowerCamelCase) * cos(lowerCamelCase) * sin_sq_lambda))
						return 2 * RADIUS * asin(lowerCamelCase)


if __name__ == "__main__":
	import doctest

	doctest.testmod()

