#include<cstdio>#include<algorithm>usingnamespace std;struct stu {double num;double price;}s[1000];typedefstruct stu st;boolcmp(st a, st b){return a.price > b.price;}intmain(){int N;double D;scanf("%d%lf",&N,&D);for(int i =0; i < N; i++)scanf("%lf",&s[i].num);for(int i =0; i < N; i++){scanf("%lf",&s[i].price);
s[i].price /= s[i].num;}sort(s, s + N, cmp);double sum =0.0;for(int i =0; i < N; i++){if(s[i].num >= D){
sum += D*s[i].price;break;}else{
D -= s[i].num;
sum += s[i].num*s[i].price;}}printf("%.2f", sum);return0;}