#include<bits/stdc++.h>
using namespace std;
int n,d,v[100005],a[100005],f[100005],g=100000,zl,y;
long long sum;
int main(){
freopen("road.in","r",stdin);
freopen("road.out","w",stdout);
cin>>n>>d;
for(int i=1;i<n;i++){
cin>>v[i]; v[i]+=v[i-1];
}
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<n;i++){
if(g>a[i]) g=a[i];
int k=(v[i]-zl)/d;
if(k*d==(v[i]-zl)) zl+=k*d,y+=k*g;
else if(k*d!=(v[i]-zl)) zl+=(k+1)*d,y+=(k+1)*g;
}
cout<<y;
return 0;
}