#include <bits/stdc++.h>
using namespace std;
double dis[100005];
double cost[100005];
long long cnt;
int main(){
int sta,kpo;cin>>sta>>kpo;
for(int i = 1;i < sta;i++){
cin>>dis[i];
}
for(int i = 1;i <= sta;i++){
cin>>cost[i];
}
int cheapest = 1;
double oil_lasted = 0;
for(int i = 1;i < sta;i++){
if(cost[cheapest] > cost[i]){
cheapest = i;
}
if(oil_lasted*kpo < dis[i]){
cnt = cnt + ceil(dis[i]*1.0/kpo-oil_lasted)*cost[cheapest];
oil_lasted = ceil(dis[i]*1.0/kpo-oil_lasted)-dis[i]*1.0/kpo;
}
else{
oil_lasted-=dis[i]*1.0/kpo;
}
}
cout<<cnt;
return 0;
}