using namespace std;
int v[100005];
int a[100005];
int an,y;
int n,d,s;
signed main()
{
cin>>n>>d;
for(int i=1;i<=n-1;i++)
{
cin>>v[i];
}
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
an=a[1];
if(v[1]%d==0)
{
s+=an*v[1]/d;
}
else
{
s+=an*(v[1]/d+1);
y=(v[1]/d+1)*d-v[1];
}
for(int i=2;i<=n-1;i++)
{
an=min(an,a[i]);
if(y-v[i]>=0)
{
y-=v[i];
continue;
}
else if((v[i]-y)%d==0)
{
s+=an*(v[i]-y)/d;
y=0;
}
else
{
s+=an*((v[i]-y)/d+1);
y=((v[i]-y)/d+1)*d-v[i];
}
}
cout<<s;
return 0;
}