






"""simple docstring"""




def 						__UpperCAmelCase      (					a_):
							if number != int(A__):
														raise ValueError('factorial() only accepts integral values')
							if number < 0:
														raise ValueError('factorial() not defined for negative values')
							snake_case_           =							1
							for i in range(1							,					number + 1):
														value *= i
							return value





def 						__UpperCAmelCase      (					a_):
							if not isinstance(A__							,					A__):
														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  							= int(input("Enter a positive integer: ").strip() or 0)
	print(f'factorial{n} is {factorial(n)}')













def 						__UpperCAmelCase      (					a_):
							return 1 if input_a == 0 else 0





def 						__UpperCAmelCase      (					):
							assert not_gate(0) == 1
							assert not_gate(1) == 0


if __name__ == "__main__":
	print(not_gate(0))
	print(not_gate(1))





