

import warnings
from functools import wraps
from typing import Callable


def     __SCREAMING_SNAKE_CASE   (SCREAMING_SNAKE_CASE__			):

						@wraps(SCREAMING_SNAKE_CASE__			)
						def _inner_fn(*SCREAMING_SNAKE_CASE__    ,						**SCREAMING_SNAKE_CASE__			):
												warnings.warn(
												    (F'''\'{fn.__name__}\' is experimental and might be subject to breaking changes in the future.''')    ,						SCREAMING_SNAKE_CASE__    ,						)
												return fn(*SCREAMING_SNAKE_CASE__    ,						**SCREAMING_SNAKE_CASE__			)

						return _inner_fn


'''simple docstring'''



def       snake_case   (	snake_case      : list					,		snake_case      : list					,		snake_case      : int					,		snake_case      : int					,		snake_case      : int			) ->  int:


    """simple docstring"""


    if index == number_of_items:
        return 0
    lowerCAmelCase 						=							0
    lowerCAmelCase 						=							0
    lowerCAmelCase 						=							knapsack(snake_case					,		snake_case					,		snake_case					,		snake_case					,		index + 1			)
    if weights[index] <= max_weight:
        lowerCAmelCase 						=							values[index] + knapsack(
            snake_case					,		snake_case					,		snake_case					,		max_weight - weights[index]					,		index + 1			)
    return max(snake_case					,		snake_case			)


if __name__ == "__main__":
     import doctest

     doctest.testmod()





