
'''simple docstring'''

from __future__ import annotations

from collections.abc import Callable







def __A  (    lowerCAmelCase_ ,       lowerCAmelCase_ ,       lowerCAmelCase_ ,       lowerCAmelCase_ = 100 ,       ):
     _UpperCAmelCase					:  Dict         =    x_start
     _UpperCAmelCase					:  Dict         =    fnc(lowerCAmelCase_       )
     _UpperCAmelCase					:  Optional[Any]         =    0.0

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

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


if __name__ == "__main__":







   def __A  (    lowerCAmelCase_       ):
        return x**3

   print('''f(x) = x^3''')
   print('''The area between the curve, x = -10, x = 10 and the x axis is:''')
   lowerCAmelCase_			:			Tuple			   =     10
   while i <= 100000:
      lowerCAmelCase_			:			List[str]			   =     trapezoidal_area(f, -5, 5, i)
      print(F"with {i} steps: {area}")
      i *= 10




'''simple docstring'''

from __future__ import annotations







def __A  (    lowerCAmelCase_       ):
     _UpperCAmelCase					:  Optional[int]         =    {1}
     _UpperCAmelCase					:  Union[str, Any]         =    [1]
     for _ in range(2 ,       depth + 1       ):
          _UpperCAmelCase					:  Dict         =    [*previous_coefficients, 0]
          _UpperCAmelCase					:  int         =    [0, *previous_coefficients]
          _UpperCAmelCase					:  List[Any]         =    []
          for x, y in zip(lowerCAmelCase_ ,       lowerCAmelCase_       ):
               coefficients.add(x + y       )
               previous_coefficients.append(x + y       )
     return coefficients







def __A  (    lowerCAmelCase_       ):
     _UpperCAmelCase					:  Dict         =    set()
     for number in unique_coefficients:
          _UpperCAmelCase					:  Tuple         =    2
          _UpperCAmelCase					:  List[str]         =    number
          while divisor**2 <= copy_number:
               _UpperCAmelCase					:  Tuple         =    0
               while copy_number % divisor == 0:
                    copy_number //= divisor
                    multiplicity += 1
               if multiplicity >= 2:
                    non_squarefrees.add(lowerCAmelCase_       )
                    break
               divisor += 1

     return unique_coefficients.difference(lowerCAmelCase_       )







def __A  (    lowerCAmelCase_ = 51       ):
     _UpperCAmelCase					:  List[str]         =    get_pascal_triangle_unique_coefficients(lowerCAmelCase_       )
     _UpperCAmelCase					:  Optional[Any]         =    get_squarefrees(lowerCAmelCase_       )
     return sum(lowerCAmelCase_       )


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


