#include<bits/stdc++.h>
using namespace std;
unsigned long long n,d,a[100010],v[100010],minn=2147483647,m1[100010],ii,ans1,money,more;
int main()
{
#define int unsigned long long
cin >> n >> d;
for(int i=1;i<=n-1;++i)
{
cin >> v[i];
ans1+=v[i];
}
for(int i=1;i<=n;++i)
{
cin >> a[i];
if(minn>a[i])
{
++ii;
m1[ii]=i;
minn=a[i];
}
}
if(ii==1)
{
if(ans1%d!=0)
{
cout << (ans1/d+1)*a[1];
}
else cout << ans1/d*a[1];
return 0;
}
for(int i=1;i<=ii-1;++i)
{
ans1=0;
for(int j=m1[i];j<m1[i+1];++j)ans1+=v[j];
if(i==ii-1)
{
ans1-=more;
more=0;
}
if(ans1%d!=0)
{
money+=(ans1/d+1)*a[m1[i]];
more+=d;
}
else money+=ans1/d*a[m1[i]];
}
cout << money;
return 0;
}
rt