#include<bits/stdc++.h>
using namespace std;
long long n,d;
long long arr[1000000+1];
long long jvli[1000000+1];
long long dp[1000000+1];
long long idex[1000000+1];
long long sum = 0;
long long shengyvjvli;
long long jiage;
long long minn = 1e18;
long long t;
int main(){
cin>>n>>d;
for(int i=1;i<n;i++){
cin>>jvli[i];
}
for(int i=1;i<=n;i++){
cin>>arr[i];
}
jiage=arr[1];
for(int i=2;i<=n;i++){
jiage = min(arr[i-1],jiage);
long long xvyaogeshu;
if(shengyvjvli<=jvli[i-1]){
xvyaogeshu = (long long)(ceil((jvli[i-1]*1.0-shengyvjvli)/(d*1.0)));
shengyvjvli = 0;
}else{
xvyaogeshu = 0;
shengyvjvli-=jvli[i-1];
}
if(xvyaogeshu*d>jvli[i-1]){
shengyvjvli += xvyaogeshu*d-jvli[i-1];
}
sum+=xvyaogeshu*jiage;
}
cout<<sum<<endl;
return 0;
}