#include<iostream>
#include<cmath>
#define ll long long
using namespace std;
ll n;
ll d;
ll a[100005],v[100005];
long double ans=0;
ll minn[100005];
ll cnt;
int main(){
cin>>n>>d;
for(int i=1;i<=n-1;i++)cin>>v[i],v[i]+=v[i-1];
for(int i=1;i<=n;i++)cin>>a[i];
long double Min=1e9+7;
for(int i=1;i<=n;i++){
if(a[i]<Min){
Min=a[i];
minn[++cnt]=i;
}
}
long double rest=0;
for(int i=1;i<=cnt-1;i++){
long double dis=v[minn[i+1]-1]-v[minn[i]-1];
rest+=dis/d-floor(dis/d);
ans+=ceil(dis/d-floor(rest))*a[minn[i]];
rest-=floor(rest);
}
cout<<ans;
return 0;
}