#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1000005;
int a[N];
signed main(){
freopen("road.in","r",stdin);
freopen("road.out","w",stdout);
int n,k,mi=1000000000000,mq=0,gl1=0,gl2=0,q=0;
cin>>n>>k;
for(int i=0;i<n-1;i++) cin>>a[i];
for(int i=0;i<n-1;i++){
gl1+=a[i];//每次将目前总长度更新
long long jq;
cin>>jq;//输入此次油钱
if(jq<mi){//如果发现此次的油钱比之前的便宜那就更新并加上
mi=jq;
if((gl1-gl2)%k==0){
q+=(gl1-gl2)/k*mi;
gl2+=(gl1-gl2);
}else{
q+=((gl1-gl2)/k+1)*mi;
gl2+=((gl1-gl2)/k+1)*k;
}
}else{//否则不更新
if((gl1-gl2)%k==0){
q+=(gl1-gl2)/k*mi;
gl2+=(gl1-gl2);
}else{
q+=((gl1-gl2)/k+1)*mi;
gl2+=((gl1-gl2)/k+1)*k;
}
}
}
int kds;
cin>>kds;
cout<<q<<endl;
return 0;
}