#include <bits/stdc++.h>
using namespace std;
long long s_min[100010],v[100010],a[100010];
long long n,d,all;
int main(){
cin >> n >> d;
for(int i = 1; i < n; i++){
cin >> v[i];
all += v[i];
}
all++;
s_min[0] = 1e9;
for(int i = 1; i <= n; i++){
cin >> a[i];
s_min[i] = min(s_min[i-1],a[i]);
}
long long now = 1;
long long mon = 0;
while(!(now == n)){
double tmp = a[now]/1.000000/d;
int tmp3 = tmp;
if(tmp3 < tmp){
int tmp2 = tmp;
tmp = tmp2+1;
}
mon += s_min[now] * tmp;
now++;
}
cout << mon << endl;
return 0;
}