#include<bits/stdc++.h>
using namespace std;
double c[1005+1];
double a[1005],b[1005];
void kp(int l, int r) {
int i, j;
double mid;
i = l;
j = r;
mid = c[(i + j) / 2];
while (i <= j) {
while (c[i] < mid) i++;
while (c[j] > mid) j--;
if (i <= j) {
swap(c[i], c[j]);
swap(a[i],a[j]);
swap(b[i],b[j]);
i++;
j--;
}
}
if (l < j)
kp(l, j);
if (i < r)
kp(i, r);
}
int main(){
double ans=0;
int n,d;
cin>>n>>d;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
cin>>b[i];
c[i]=(b[i]+0.0)/(a[i]+0.0);
}
kp(1,n);
int i=n;
while(d>=a[i]){
d-=a[i];
ans+=(b[i]+0.0);
i--;
}
if(d>0){
ans+=(d+0.0)*c[i];
}
printf("%0.2lf",ans);
return 0;
}