



'''simple docstring'''






from __future__ import annotations




def        snake_case_   (	lowerCAmelCase_						)->						int | float:





       '''simple docstring'''


       _UpperCAmelCase    :		Dict     	=					sorted(lowerCAmelCase_						)
       _UpperCAmelCase    :		List[str]     	=					len(lowerCAmelCase_						)
       _UpperCAmelCase    :		Tuple     	=					length >> 1
       return (
           (sorted_list[mid_index] + sorted_list[mid_index - 1]) / 2
           if length % 2 == 0
           else sorted_list[mid_index]
       )




def        snake_case_   (	)->						Optional[int]:





       '''simple docstring'''


       import doctest

       doctest.testmod()


if __name__ == "__main__":
   main()






from __future__ import annotations




def        __UpperCamelCase     (      _A					:							int      ,  _A					:							list[int]      ,  _A					:							list[int]      ,  _A					:							int		)				->int:



							"""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(_A      ,  _A      ,  _A      ,  counter - 1		)
							else:
														lowerCamelCase_								=capacity - weights[counter - 1]
														lowerCamelCase_								=values[counter - 1] + knapsack(
														    _A      ,  _A      ,  _A      ,  counter - 1		)
														lowerCamelCase_								=knapsack(_A      ,  _A      ,  _A      ,  counter - 1		)
														return max(_A      ,  _A		)


if __name__ == "__main__":
	import doctest

	doctest.testmod()
