"""simple docstring"""


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

UpperCAmelCase__			=    6_3_7_8_1_3_7.0
UpperCAmelCase__			=    6_3_5_6_7_5_2.3_1_4_2_4_5
UpperCAmelCase__			=    6_3_7_8_1_3_7






def      __UpperCAmelCase       (      lowercase ,lowercase ,lowercase ,lowercase		):







  """simple docstring"""
  _UpperCAmelCase    			=   (AXIS_A - AXIS_B) / AXIS_A
  _UpperCAmelCase    			=   atan((1 - flattening) * tan(radians(_A		)		)		)
  _UpperCAmelCase    			=   atan((1 - flattening) * tan(radians(_A		)		)		)
  _UpperCAmelCase    			=   radians(_A		)
  _UpperCAmelCase    			=   radians(_A		)
  # Equation
  _UpperCAmelCase    			=   sin((phi_a - phi_a) / 2		)
  _UpperCAmelCase    			=   sin((lambda_a - lambda_a) / 2		)
  # Square both values
  sin_sq_phi *= sin_sq_phi
  sin_sq_lambda *= sin_sq_lambda
  _UpperCAmelCase    			=   sqrt(sin_sq_phi + (cos(_A		) * cos(_A		) * sin_sq_lambda)		)
  return 2 * RADIUS * asin(_A		)


if __name__ == "__main__":
    import doctest

    doctest.testmod()





'''simple docstring'''






from __future__ import annotations
def  lowerCamelCase__			(		_A					,     _A					,     _A							):
  a		:   List[str]	  =	list(range(len(_A							)							)							)
  a		:   Union[str, Any]	  =	[v / w for v, w in zip(_A					,     _A							)]
  index.sort(key=lambda _A							: ratio[i]					,     reverse=_A							)

  a		:   float	  =	0
  a		:   list[float]	  =	[0] * len(_A							)
  for i in index:
    if weight[i] <= capacity:
      a		:   int	  =	1
      max_value += value[i]
      capacity -= weight[i]
    else:
      a		:   Optional[int]	  =	capacity / weight[i]
      max_value += value[i] * capacity / weight[i]
      break

  return max_value, fractions


if __name__ == "__main__":
     import doctest

     doctest.testmod()