
'''simple docstring'''







def       snake_case_	(       __SCREAMING_SNAKE_CASE      :				int							):



						"""simple docstring"""





						if number != int(__SCREAMING_SNAKE_CASE							):
												raise ValueError('''factorial() only accepts integral values'''							)
						if number < 0:
												raise ValueError('''factorial() not defined for negative values'''							)
						lowercase_			:  Union[str, Any]									= 1
						for i in range(1   ,   number + 1							):
												value *= i
						return value
def       snake_case_	(       __SCREAMING_SNAKE_CASE      :				int							):



						"""simple docstring"""





						if not isinstance(__SCREAMING_SNAKE_CASE   ,   __SCREAMING_SNAKE_CASE							):
												raise ValueError('''factorial() only accepts integral values'''							)
						if n < 0:
												raise ValueError('''factorial() not defined for negative values'''							)
						return 1 if n == 0 or n == 1 else n * factorial(n - 1							)


if __name__ == "__main__":
							import doctest

							doctest.testmod()

							_lowercase				:						Optional[int]												= int(input("Enter a positive integer: ").strip() or 0)
							print(f"""factorial{n} is {factorial(n)}""")





'''simple docstring'''







def       snake_case_	(       __SCREAMING_SNAKE_CASE      :				int = 1000							):



						"""simple docstring"""





						lowercase_			:  List[Any]									= 0
						for i in range(__SCREAMING_SNAKE_CASE							):
												if i % 3 == 0 or i % 5 == 0:
																		result += i
						return result


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



