



"""simple docstring"""

from __future__ import annotations

from collections.abc import Callable
def    __snake_case       (  __A			:	Callable[[int | float], int | float]       ,		__A			:	int | float       ,		__A			:	int | float       ,		__A			:	int = 100       ,		)    ->					float:






				'''simple docstring'''
				SCREAMING_SNAKE_CASE	:       Any 							=    x_start
				SCREAMING_SNAKE_CASE	:       Any 							=    fnc(__A    )
				SCREAMING_SNAKE_CASE	:       List[Any] 							=    0.0

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

								# Increment step
								SCREAMING_SNAKE_CASE	:       Optional[Any] 							=    xa
								SCREAMING_SNAKE_CASE	:       Dict 							=    fxa
				return area


if __name__ == "__main__":
							def    __snake_case       (  __A			:	List[str]    )    ->					Any:






											'''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_	:						List[str]				=			10
							while i <= 10_0000:
														A_	:						Optional[int]				=			trapezoidal_area(f, -5, 5, i)
														print(f'''with {i} steps: {area}''')
														i *= 10










"""simple docstring"""

def    __snake_case       (  __A			:	int = 100    )    ->					int:






				'''simple docstring'''
				SCREAMING_SNAKE_CASE	:       Any 							=    1
				SCREAMING_SNAKE_CASE	:       Optional[int] 							=    0
				for i in range(1       ,		num + 1    ):
								fact *= i

				for j in str(__A    ):
								result += int(__A    )

				return result


if __name__ == "__main__":
							print(solution(int(input('Enter the Number: ').strip())))





