





__A				:    List[str]       =   {str(digit): digit**5 for digit in range(10)}





def 						__SCREAMING_SNAKE_CASE  (				UpperCamelCase__ )  ->				int:







			'''simple docstring'''

			return sum(DIGITS_FIFTH_POWER[digit] for digit in str(UpperCamelCase__ ) )





def 						__SCREAMING_SNAKE_CASE  (				)  ->				int:







			'''simple docstring'''

			return sum(
			    number
			    for number in range(1000			,			100_0000 )
			    if number == digits_fifth_powers_sum(UpperCamelCase__ ) )


if __name__ == "__main__":
				print(solution())










from __future__ import annotations

from collections.abc import Callable





def 						__SCREAMING_SNAKE_CASE  (				UpperCamelCase__			,			UpperCamelCase__			,			UpperCamelCase__			,			UpperCamelCase__ = 100			,			)  ->				float:







			'''simple docstring'''

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


if __name__ == "__main__":





				def 						__SCREAMING_SNAKE_CASE  (				UpperCamelCase__ )  ->				str:







							'''simple docstring'''

							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:")
				__A				:    List[Any]       =   10
				while i <= 100_000:
								print(F'with {i} steps: {trapezoidal_area(f, -5, 5, i)}')
								i *= 10



