code: 
  
  """simple docstring"""
  
  
  
  
  from __future__ import annotations
  def      __SCREAMING_SNAKE_CASE		(		lowercase__    ,							lowercase__    ,							lowercase__    ,							lowercase__   ):
  					"""simple docstring"""
  
  					# Base Case
  					if counter == 0 or capacity == 0:
  										return 0
  
  					# If weight of the nth item is more than Knapsack of capacity,
  					#   then this item cannot be included in the optimal solution,
  					# else return the maximum of two cases:
  					#   (1) nth item included
  					#   (2) not included
  					if weights[counter - 1] > capacity:
  										return knapsack(lowercase__    ,							lowercase__    ,							lowercase__    ,							counter - 1   )
  					else:
  										A    =      capacity - weights[counter - 1]
  										A    =      values[counter - 1] + knapsack(
  										    lowercase__    ,							lowercase__    ,							lowercase__    ,							counter - 1   )
  										A    =      knapsack(lowercase__    ,							lowercase__    ,							lowercase__    ,							counter - 1   )
  										return max(lowercase__    ,							lowercase__   )
  
  
  if __name__ == "__main__":
  	import doctest
  
  	doctest.testmod()
  
  
  
  
  
  
style_context: 
  
  """simple docstring"""
  
  
  
  
  def      __SCREAMING_SNAKE_CASE		(		lowercase__   ):
  					"""simple docstring"""
  					if not isinstance(lowercase__    ,							lowercase__   ):
  										raise ValueError("double_factorial() only accepts integral values"   )
  					if n < 0:
  										raise ValueError("double_factorial() not defined for negative values"   )
  					return 1 if n <= 1 else n * double_factorial(n - 2   )
  
  
  if __name__ == "__main__":
  	import doctest
  
  	doctest.testmod()
  
  
  
  
  
  