

'''simple docstring'''







__lowerCamelCase									=     9.80665
def    UpperCAmelCase__     (   UpperCAmelCase__,							UpperCAmelCase__,							UpperCAmelCase__ = g					)      ->      float:

       if fluid_density <= 0:
              raise ValueError("""Impossible fluid density"""					)
       if volume < 0:
              raise ValueError("""Impossible Object volume"""					)
       if gravity <= 0:
              raise ValueError("""Impossible Gravity"""					)

       return fluid_density * gravity * volume


if __name__ == "__main__":
      import doctest

      # run doctest
      doctest.testmod()



'''simple docstring'''







from bisect import bisect
from itertools import accumulate
def    UpperCAmelCase__     (   UpperCAmelCase__,							UpperCAmelCase__,							UpperCAmelCase__,							UpperCAmelCase__					)      ->      Dict:
       A_						       =   sorted(zip(UpperCAmelCase__,							UpperCAmelCase__					),							key=lambda UpperCAmelCase__					: x[0] / x[1],							reverse=UpperCAmelCase__					)
       A_       ,      A_						       =   [i[0] for i in r], [i[1] for i in r]
       A_						       =   list(accumulate(UpperCAmelCase__					)					)
       A_						       =   bisect(UpperCAmelCase__,							UpperCAmelCase__					)
       return (
           0
           if k == 0
           else sum(vl[:k]					) + (w - acc[k - 1]) * (vl[k]) / (wt[k])
           if k != n
           else sum(vl[:k]					)
       )


if __name__ == "__main__":
      import doctest

      doctest.testmod()
