
'''simple docstring'''
from __future__ import annotations

from collections.abc import Callable

def   UpperCamelCase_   (		__SCREAMING_SNAKE_CASE,						__SCREAMING_SNAKE_CASE,						__SCREAMING_SNAKE_CASE,						__SCREAMING_SNAKE_CASE = 1_0_0,						):
    """simple docstring"""






    snake_case_       :			List[Any]   	=  x_start
    snake_case_       :			Optional[Any]   	=  fnc(__SCREAMING_SNAKE_CASE				)
    snake_case_       :			Any   	=  0.0

    for _ in range(__SCREAMING_SNAKE_CASE				):
        # Approximates small segments of curve as linear and solve
        # for trapezoidal area
        snake_case_       :			Union[str, Any]   	=  (x_end - x_start) / steps + xa
        snake_case_       :			str   	=  fnc(__SCREAMING_SNAKE_CASE				)
        area += abs(fxa + fxa				) * (xa - xa) / 2

        # Increment step
        snake_case_       :			Any   	=  xa
        snake_case_       :			Optional[int]   	=  fxa
    return area


if __name__ == "__main__":

  def   UpperCamelCase_   (		__SCREAMING_SNAKE_CASE				):
      """simple docstring"""






      return x**3

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








def        __lowerCAmelCase    (SCREAMING_SNAKE_CASE = 1000					)->  int:




      """simple docstring"""

      snake_case_       =      0
      snake_case_       =      (n - 1) // 3
      total += ((terms) * (6 + (terms - 1) * 3)) // 2  # total of an A.P.
      snake_case_       =      (n - 1) // 5
      total += ((terms) * (10 + (terms - 1) * 5)) // 2
      snake_case_       =      (n - 1) // 15
      total -= ((terms) * (30 + (terms - 1) * 15)) // 2
      return total


if __name__ == "__main__":
   print(f'''{solution() = }''')