

"""simple docstring"""




def 	UpperCAmelCase__   (				A__	,    A__	,    A__   )      ->      int:




   """simple docstring"""
   if len(A__   ) != len(A__   ):
      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(A__	,    A__   )]

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

   # declaring useful variables
   lowerCamelCase__						=			len(A__   )
   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(A__   )
      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.'''
     )

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

     # Function Call
     calc_profit(profit, weight, max_weight)







"""simple docstring"""




import numpy as np



def 	UpperCAmelCase__   (				A__   )      ->      np.array:




   """simple docstring"""
   return 1 / (1 + np.exp(-vector   ))


if __name__ == "__main__":
     import doctest

     doctest.testmod()




