#include <bits/stdc++.h>
using namespace std;
int main() {
int n,k;
cin>>n>>k;
vector<int> a(n),b(n);
for(int i=0;i<n;++i) cin>>a[i];
for(int i=0;i<n;++i) cin>>b[i];
int ans=0;
vector<pair<int,int>> vec;
for(int i=0;i<n;++i) vec.push_back({b[i],a[i]});
sort(vec.begin(),vec.end());
for(int i=n-1;i>=0 && k>0;--i){
if(k-vec[i].second>=0){
ans+=vec[i].first*vec[i].second;
k-=vec[i].second;
} else{
ans+=vec[i].first*k;
k=0;
}
}
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuLGs7CgljaW4+Pm4+Pms7Cgl2ZWN0b3I8aW50PiBhKG4pLGIobik7Cglmb3IoaW50IGk9MDtpPG47KytpKSBjaW4+PmFbaV07Cglmb3IoaW50IGk9MDtpPG47KytpKSBjaW4+PmJbaV07CglpbnQgYW5zPTA7Cgl2ZWN0b3I8cGFpcjxpbnQsaW50Pj4gdmVjOwoJZm9yKGludCBpPTA7aTxuOysraSkgdmVjLnB1c2hfYmFjayh7YltpXSxhW2ldfSk7Cglzb3J0KHZlYy5iZWdpbigpLHZlYy5lbmQoKSk7Cglmb3IoaW50IGk9bi0xO2k+PTAgJiYgaz4wOy0taSl7CgkJaWYoay12ZWNbaV0uc2Vjb25kPj0wKXsKCQkJYW5zKz12ZWNbaV0uZmlyc3QqdmVjW2ldLnNlY29uZDsKCQkJay09dmVjW2ldLnNlY29uZDsKCQl9IGVsc2V7CgkJCWFucys9dmVjW2ldLmZpcnN0Kms7CgkJCWs9MDsKCQl9Cgl9Cgljb3V0PDxhbnM7CgkKCXJldHVybiAwOwp9