
'''simple docstring'''

def        SCREAMING_SNAKE_CASE_  (	snake_case_				:	float   ,     snake_case_				:	float							)       ->	float:
 SCREAMING_SNAKE_CASE  :  Union[str, Any]								=		float()
 try:
  SCREAMING_SNAKE_CASE  :  Optional[int]								=		mass * acceleration
 except Exception:
  return -0.0
 return force


if __name__ == "__main__":
   import doctest

   # run doctest
   doctest.testmod()

   # demo
   __UpperCAmelCase												=   12.5
   __UpperCAmelCase												=   10
   __UpperCAmelCase												=   newtons_second_law_of_motion(mass, acceleration)
   print('The force is ', force, 'N')




'''simple docstring'''

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



def        SCREAMING_SNAKE_CASE_  (	snake_case_				:	int							)       ->	int:
 if not isinstance(snake_case_   ,     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()

   __UpperCAmelCase												=   int(input('Enter a positive integer: ').strip() or 0)
   print(f"""factorial{n} is {factorial(n)}""")


