code: 
  
  
  __lowerCamelCase       :       int				   =			{hex(i)[2:]: i for i in range(16)}  # Use [:2] to strip off the leading '0x'
  
  
  
  def   SCREAMING_SNAKE_CASE__						(							snake_case_	)			->							int:
  				A__     :							List[Any]   				=hex_string.strip().lower()
  				if not hex_string:
  								raise ValueError('''Empty string was passed to the function'''	)
  				A__     :							List[str]   				=hex_string[0] == '''-'''
  				if is_negative:
  								A__     :							Any   				=hex_string[1:]
  				if not all(char in hex_table for char in hex_string	):
  								raise ValueError('''Non-hexadecimal value was passed to the function'''	)
  				A__     :							str   				=0
  				for char in hex_string:
  								A__     :							Optional[int]   				=1_6 * decimal_number + hex_table[char]
  				return -decimal_number if is_negative else decimal_number
  
  
  if __name__ == "__main__":
  						from doctest import testmod
  
  						testmod()
  
  
  
  
style_context: 
  
  
  def   SCREAMING_SNAKE_CASE__						(							snake_case_	)			->							int:
  				if number != int(snake_case_	):
  								raise ValueError('''factorial() only accepts integral values'''	)
  				if number < 0:
  								raise ValueError('''factorial() not defined for negative values'''	)
  				A__     :							Union[str, Any]   				=1
  				for i in range(1,	number + 1	):
  								value *= i
  				return value
  
  
  
  def   SCREAMING_SNAKE_CASE__						(							snake_case_	)			->							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()
  
  						__lowerCamelCase       :       Any				   =			int(input("Enter a positive integer: ").strip() or 0)
  						print(F"factorial{n} is {factorial(n)}")
  
  
  
  