#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+5;
ll n,d,ans,cnt,ans1;
ll a[N],v[N];
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n>>d;
for(int i=1;i<n;i++)cin>>v[i];
for(int i=1;i<=n;i++)cin>>a[i];
if(v[1]%d==0)
cnt=v[1]/d*a[1];
else{
ans1=(v[1]/d+1)*d-v[1];
cnt=(v[1]/d+1)*a[1];
}
ll kobe=cnt;
ll nn=cnt;
ll yuan=a[1];
for(int i=2;i<n;i++){
v[i]-=ans1;
ll op,kobe;
if(v[i]%d==0){
op=v[i]/d*a[i];
kobe=v[i]/d*yuan;
nn=min(op,kobe);
if(kobe>op)yuan=a[i];
cnt+=nn;
}
else{
op=(v[i]/d+1)*a[i];
kobe=(v[i]/d+1)*yuan;
nn=min(op,kobe);
if(kobe>op)yuan=a[i];
cnt+=nn;
}
if(v[i]%d==0)ans1=0;
else ans1=(v[i]/d+1)*d-v[i];
}
cout<<cnt;
return 0;
}