




'''simple docstring'''





class 			_snake_case		:




			def __init__( self    ,							a__    ,							a__    ,							a__							)    ->    Union[str, Any]:

										'''simple docstring'''




										snake_case_      =				name
										snake_case_      =				value
										snake_case_      =				weight




			def __repr__( self							)    ->    Union[str, Any]:

										'''simple docstring'''




										return F'{self.__class__.__name__}({self.name}, {self.value}, {self.weight})'




			def        lowerCAmelCase__    ( self							)    ->    Dict:

										'''simple docstring'''




										return self.value




			def        lowerCAmelCase__    ( self							)    ->    int:

										'''simple docstring'''




										return self.name




			def        lowerCAmelCase__    ( self							)    ->    Dict:

										'''simple docstring'''




										return self.weight




			def        lowerCAmelCase__    ( self							)    ->    Optional[Any]:

										'''simple docstring'''




										return self.value / self.weight


def 					UpperCamelCase_(     snake_case							:	List[str]							,    snake_case							:	List[str]							,    snake_case							:	Any					):

							'''simple docstring'''






							snake_case_      =				[]
							for i in range(len(snake_case					)					):
														menu.append(Things(name[i]							,    value[i]							,    weight[i]					)					)
							return menu


def 					UpperCamelCase_(     snake_case							:	List[str]							,    snake_case							:	Union[str, Any]							,    snake_case							:	Any					):

							'''simple docstring'''






							snake_case_      =				sorted(snake_case							,    key=snake_case							,    reverse=snake_case					)
							snake_case_      =				[]
							snake_case_ ,				snake_case_      =				0.0, 0.0
							for i in range(len(snake_case					)					):
														if (total_cost + items_copy[i].get_weight()) <= max_cost:
																					result.append(items_copy[i]					)
																					total_cost += items_copy[i].get_weight()
																					total_value += items_copy[i].get_value()
							return (result, total_value)


def 					UpperCamelCase_(     ):

							'''simple docstring'''








if __name__ == "__main__":
		import doctest

		doctest.testmod()










'''simple docstring'''





def 					UpperCamelCase_(     snake_case							:	int							,    snake_case							:	int					):

							'''simple docstring'''






							while b:
														snake_case_ ,				snake_case_      =				b, a % b
							return a


def 					UpperCamelCase_(     snake_case							:	int							,    snake_case							:	int					):

							'''simple docstring'''






							return a if b == 0 else euclidean_gcd_recursive(snake_case							,    a % b					)


def 					UpperCamelCase_(     ):

							'''simple docstring'''






							print(f'euclidean_gcd(3, 5) = {euclidean_gcd(3							,    5					)}'					)
							print(f'euclidean_gcd(5, 3) = {euclidean_gcd(5							,    3					)}'					)
							print(f'euclidean_gcd(1, 3) = {euclidean_gcd(1							,    3					)}'					)
							print(f'euclidean_gcd(3, 6) = {euclidean_gcd(3							,    6					)}'					)
							print(f'euclidean_gcd(6, 3) = {euclidean_gcd(6							,    3					)}'					)

							print(f'euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3							,    5					)}'					)
							print(f'euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5							,    3					)}'					)
							print(f'euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1							,    3					)}'					)
							print(f'euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3							,    6					)}'					)
							print(f'euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6							,    3					)}'					)


if __name__ == "__main__":
		main()




