

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

SCREAMING_SNAKE_CASE_            = 637_8137.0
SCREAMING_SNAKE_CASE_            = 635_6752.31_4245
SCREAMING_SNAKE_CASE_            = 6378137

def 							__SCREAMING_SNAKE_CASE							(			lowerCAmelCase:					float					, lowerCAmelCase:					float					, lowerCAmelCase:					float					, lowerCAmelCase:					float	)				->    float:
				_UpperCAmelCase    :						Dict							=      (AXIS_A - AXIS_B) / AXIS_A
				_UpperCAmelCase    :						Optional[Any]							=      atan((1 - flattening) * tan(radians(lowerCAmelCase	)	)	)
				_UpperCAmelCase    :						Optional[int]							=      atan((1 - flattening) * tan(radians(lowerCAmelCase	)	)	)
				_UpperCAmelCase    :						int							=      radians(lowerCAmelCase	)
				_UpperCAmelCase    :						str							=      radians(lowerCAmelCase	)
				# Equation
				_UpperCAmelCase    :						List[str]							=      sin((phi_a - phi_a) / 2	)
				_UpperCAmelCase    :						List[str]							=      sin((lambda_a - lambda_a) / 2	)
				# Square both values
				sin_sq_phi *= sin_sq_phi
				sin_sq_lambda *= sin_sq_lambda
				_UpperCAmelCase    :						Optional[int]							=      sqrt(sin_sq_phi + (cos(lowerCAmelCase	) * cos(lowerCAmelCase	) * sin_sq_lambda)	)
				return 2 * RADIUS * asin(lowerCAmelCase	)


if __name__ == "__main__":
					import doctest

					doctest.testmod()





def 							__SCREAMING_SNAKE_CASE							(			lowerCAmelCase:					int	)				->    int:
				if not isinstance(lowerCAmelCase					, lowerCAmelCase	):
								raise TypeError("Input value must be an 'int' type"	)

				_UpperCAmelCase    :						List[Any]							=      0
				while number:
								position += 1
								number >>= 1

				return position


if __name__ == "__main__":
					import doctest

					doctest.testmod()


