#include<bits/stdc++.h>
using namespace std;
long long n,d,v[1000050],a[1000050],m=0;//m为费用
long long shen=0;//上次买的油跑完要走的路,还能走多少
int main()
{
cin>>n>>d;
for(int i=1;i<n;i++)
cin>>v[i];
for(int i=1;i<=n;i++)
cin>>a[i];
int j=1;
while(j<n)
{
int l=0;//用来对比价格时记录站点
int luc=0;//站之间的路程
while(j+l<n&&a[j]<=a[j+l])
{
luc+=v[j+l];
l++;
}
luc-=shen;
if(luc%d==0)
m=m+luc/d*a[j];
else
{
m=m+(luc/d+1)*a[j];
shen=(luc/d+1)*d-luc;
}
j+=l;
}
cout<<m;
return 0;
}