






"""simple docstring"""


def      snake_case    (A_ :list      ,     A_ :int      ,     A_ :int      ,     A_ :int ):







  '''simple docstring'''

  a	:     Tuple							=  int((lower_bound + upper_bound) // 2 )
  if array[r] == value:
    return r
  if lower_bound >= upper_bound:
    return -1
  if array[r] < value:
    return binary_search(lowercase__      ,     r + 1      ,     lowercase__      ,     lowercase__ )
  else:
    return binary_search(lowercase__      ,     lowercase__      ,     r - 1      ,     lowercase__ )




def      snake_case    (A_ :int      ,     A_ :list ):







  '''simple docstring'''

  a	:     Optional[Any]							=  0
  if matrix[index][0] == value:
    return [index, 0]
  while index < len(lowercase__ ) and matrix[index][0] < value:
    a	:     List[str]							=  binary_search(matrix[index]      ,     0      ,     len(matrix[index] ) - 1      ,     lowercase__ )
    if r != -1:
      return [index, r]
    index += 1
  return [-1, -1]


if __name__ == "__main__":
   import doctest

   doctest.testmod()








from __future__ import annotations

from collections.abc import Callable
def 			__SCREAMING_SNAKE_CASE							(					lowercase__	:Callable[[int | float], int | float]   ,    lowercase__	:int | float   ,    lowercase__	:int | float   ,    lowercase__	:int = 1_0_0   ,    )							->	float:
						__magic_name__					:				str				=   x_start
						__magic_name__					:				str				=   fnc(lowercase__					)
						__magic_name__					:				Union[str, Any]				=   0.0

						for _ in range(lowercase__					):
												# Approximates small segments of curve as linear and solve
												# for trapezoidal area
												__magic_name__					:				Optional[int]				=   (x_end - x_start) / steps + xa
												__magic_name__					:				List[Any]				=   fnc(lowercase__					)
												area += abs(fxa + fxa					) * (xa - xa) / 2

												# Increment step
												__magic_name__					:				Optional[Any]				=   xa
												__magic_name__					:				Union[str, Any]				=   fxa
						return area


if __name__ == "__main__":
			def 			__SCREAMING_SNAKE_CASE							(					lowercase__	:Dict					)							->	Optional[int]:
									return x**3

			print('f(x) = x^3')
			print('The area between the curve, x = -10, x = 10 and the x axis is:')
			snake_case__  				=			10
			while i <= 10_0000:
						snake_case__  				=			trapezoidal_area(f, -5, 5, i)
						print(F"""with {i} steps: {area}""")
						i *= 10


