
"""simple docstring"""


def  lowercase						(	lowerCAmelCase__	,lowerCAmelCase__	,lowerCAmelCase__						):
			if len(lowerCAmelCase__						) != len(lowerCAmelCase__						):
						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.
			lowerCamelCase_					=  [p / w for p, w in zip(lowerCAmelCase__	,lowerCAmelCase__						)]

			# Creating a copy of the list and sorting profit/weight in ascending order
			lowerCamelCase_					=  sorted(lowerCAmelCase__						)

			# declaring useful variables
			lowerCamelCase_					=  len(lowerCAmelCase__						)
			lowerCamelCase_					=  0
			lowerCamelCase_					=  0
			lowerCamelCase_					=  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
						lowerCamelCase_					=  sorted_profit_by_weight[length - i - 1]
						lowerCamelCase_					=  profit_by_weight.index(lowerCAmelCase__						)
						lowerCamelCase_					=  -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."""
						)

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

						# Function Call
						calc_profit(profit, weight, max_weight)











'''simple docstring'''





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_speech_available, is_torch_available


_UpperCamelCase						:						Tuple  =					{
    'configuration_audio_spectrogram_transformer': [
        'AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'ASTConfig',
    ]
}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_UpperCamelCase						:						Optional[int]  =					[
						    'AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
						    'ASTForAudioClassification',
						    'ASTModel',
						    'ASTPreTrainedModel',
						]

try:
						if not is_speech_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_UpperCamelCase						:						int  =					['ASTFeatureExtractor']

if TYPE_CHECKING:
						from .configuration_audio_spectrogram_transformer import (
						    AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
						    ASTConfig,
						)

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_audio_spectrogram_transformer import (
												    AUDIO_SPECTROGRAM_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
												    ASTForAudioClassification,
												    ASTModel,
												    ASTPreTrainedModel,
												)

						try:
												if not is_speech_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .feature_extraction_audio_spectrogram_transformer import ASTFeatureExtractor


else:
						import sys

						_UpperCamelCase						:						List[str]  =					_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)


