



'''simple docstring'''





def lowerCAmelCase    (__A    ,      __A):



     """simple docstring"""



     while b:
          _a    ,       _a           =    b, a % b
     return a




def lowerCAmelCase    (__A    ,      __A):



     """simple docstring"""



     return a if b == 0 else euclidean_gcd_recursive(__A    ,      a % b)




def lowerCAmelCase    ():



     """simple docstring"""



     print(F'''euclidean_gcd(3, 5) = {euclidean_gcd(3    ,      5)}''')
     print(F'''euclidean_gcd(5, 3) = {euclidean_gcd(5    ,      3)}''')
     print(F'''euclidean_gcd(1, 3) = {euclidean_gcd(1    ,      3)}''')
     print(F'''euclidean_gcd(3, 6) = {euclidean_gcd(3    ,      6)}''')
     print(F'''euclidean_gcd(6, 3) = {euclidean_gcd(6    ,      3)}''')

     print(F'''euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3    ,      5)}''')
     print(F'''euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5    ,      3)}''')
     print(F'''euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1    ,      3)}''')
     print(F'''euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3    ,      6)}''')
     print(F'''euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6    ,      3)}''')


if __name__ == "__main__":
  main()





"""simple docstring"""




from __future__ import annotations

from collections.abc import Callable



def 							_lowerCamelCase			(			__a,				__a,				__a,				__a = 100,				):
		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 							_lowerCamelCase			(			__a     ):
								return x**3 + x**2

						print('f(x) = x^3 + x^2')
						print('The area between the curve, x = -5, x = 5 and the x axis is:')
						lowerCAmelCase__				=					10
						while i <= 100000:
												print(f'''with {i} steps: {trapezoidal_area(f, -5, 5, i)}''')
												i *= 10