






def 					lowercase__				(					__snake_case   :							Union[str, Any]					,	__snake_case   :							List[Any]					,	__snake_case   :							int  ):


					'''simple docstring'''


					if len(SCREAMING_SNAKE_CASE_  ) != len(SCREAMING_SNAKE_CASE_  ):
										raise ValueError('The length of profit and weight must be same.'  )
					if max_weight <= 0:
										raise ValueError('max_weight must greater than zero.'  )
					if any(p < 0 for p in profit  ):
										raise ValueError('Profit can not be negative.'  )
					if any(w < 0 for w in weight  ):
										raise ValueError('Weight can not be negative.'  )

					# List created to store profit gained for the 1kg in case of each weight
					# respectively.  Calculate and append profit/weight for each element.
					UpperCAmelCase_   :				Optional[int]						=						[p / w for p, w in zip(SCREAMING_SNAKE_CASE_					,	SCREAMING_SNAKE_CASE_  )]

					# Creating a copy of the list and sorting profit/weight in ascending order
					UpperCAmelCase_   :				Optional[Any]						=						sorted(SCREAMING_SNAKE_CASE_  )

					# declaring useful variables
					UpperCAmelCase_   :				List[str]						=						len(SCREAMING_SNAKE_CASE_  )
					UpperCAmelCase_   :				List[Any]						=						0
					UpperCAmelCase_   :				Any						=						0
					UpperCAmelCase_   :				List[str]						=						0

					# loop till the total weight do not reach max limit e.g. 15 kg and till i<length
					while limit <= max_weight and i < length:
										# flag value for encountered greatest element in sorted_profit_by_weight
										UpperCAmelCase_   :				List[Any]						=						sorted_profit_by_weight[length - i - 1]
										UpperCAmelCase_   :				Optional[Any]						=						profit_by_weight.index(SCREAMING_SNAKE_CASE_  )
										UpperCAmelCase_   :				Any						=						-1

										# check if the weight encountered is less than the total weight
										# encountered before.
										if max_weight - limit >= weight[index]:
															limit += weight[index]
															# Adding profit gained for the given weight 1 ===
															# weight[index]/weight[index]
															gain += 1 * profit[index]
										else:
															# Since the weight encountered is greater than limit, therefore take the
															# required number of remaining kgs and calculate profit for it.
															# weight remaining / weight[index]
															gain += (max_weight - limit) / weight[index] * profit[index]
															break
										i += 1
					return gain


if __name__ == "__main__":
		print(
		    'Input profits, weights, and then max_weight (all positive ints) separated by '
		    'spaces.'
		)

		__UpperCAmelCase     							=						[int(x) for x in input('Input profits separated by spaces: ').split()]
		__UpperCAmelCase     							=						[int(x) for x in input('Input weights separated by spaces: ').split()]
		__UpperCAmelCase     							=						int(input('Max weight allowed: '))

		# Function Call
		calc_profit(profit, weight, max_weight)











def 					lowercase__				(					__snake_case   :							int  ):


					'''simple docstring'''


					UpperCAmelCase_   :				Tuple						=						[1]

					UpperCAmelCase_	,  UpperCAmelCase_	,  UpperCAmelCase_   :				Tuple						=						0, 0, 0
					UpperCAmelCase_   :				Union[str, Any]						=						ugly_nums[ia] * 2
					UpperCAmelCase_   :				Tuple						=						ugly_nums[ia] * 3
					UpperCAmelCase_   :				Union[str, Any]						=						ugly_nums[ia] * 5

					for _ in range(1					,	__snake_case  ):
										UpperCAmelCase_   :				Tuple						=						min(__snake_case					,	__snake_case					,	__snake_case  )
										ugly_nums.append(__snake_case  )
										if next_num == next_a:
															ia += 1
															UpperCAmelCase_   :				Union[str, Any]						=						ugly_nums[ia] * 2
										if next_num == next_a:
															ia += 1
															UpperCAmelCase_   :				Any						=						ugly_nums[ia] * 3
										if next_num == next_a:
															ia += 1
															UpperCAmelCase_   :				List[str]						=						ugly_nums[ia] * 5
					return ugly_nums[-1]


if __name__ == "__main__":
		from doctest import testmod

		testmod(verbose=True)
		print(F'{ugly_numbers(200) = }')






