

'''simple docstring'''



def      a__ (						a__		):




     """simple docstring"""


     __SCREAMING_SNAKE_CASE						     =   [True for i in range(n + 1		)]
     __SCREAMING_SNAKE_CASE						     =   [i - 1 for i in range(n + 1		)]
     __SCREAMING_SNAKE_CASE						     =   []
     for i in range(2   ,					n + 1		):
          if is_prime[i]:
               primes.append(a__		)
          for j in range(0   ,					len(a__		)		):
               if i * primes[j] >= n:
                    break
               __SCREAMING_SNAKE_CASE						     =   False

               if i % primes[j] == 0:
                    __SCREAMING_SNAKE_CASE						     =   totients[i] * primes[j]
                    break

               __SCREAMING_SNAKE_CASE						     =   totients[i] * (primes[j] - 1)

     return totients


if __name__ == "__main__":
  import doctest

  doctest.testmod()









'''simple docstring'''



from __future__ import annotations

from collections.abc import Callable







def      a__ (						a__   ,					a__   ,					a__   ,					a__ = 1_00   ,					):




     """simple docstring"""


     __SCREAMING_SNAKE_CASE						     =   x_start
     __SCREAMING_SNAKE_CASE						     =   fnc(a__		)
     __SCREAMING_SNAKE_CASE						     =   0.0

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

          # Increment step
          __SCREAMING_SNAKE_CASE						     =   xa
          __SCREAMING_SNAKE_CASE						     =   fxa
     return area


if __name__ == "__main__":







  def      a__ (						a__		):




       """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:')
  UpperCAmelCase				: Optional[Any]         =  1_0
  while i <= 1_0_0_0_0_0:
    UpperCAmelCase				: Union[str, Any]         =  trapezoidal_area(f, -5, 5, i)
    print(f"""with {i} steps: {area}""")
    i *= 1_0






