#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1e5 + 10;
inline ll read(){
ll r = 0 , z = 1;
char ch = getchar();
while(ch < '0' || ch > '9'){
if(ch == '-') z = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9'){
r = r * 10 + ch - '0';
ch = getchar();
}
return r * z;
}
ll n , d , v[N] , a[N] , sum , ans;
int main(){
n = read();
d = read();
for(int i = 1; i <= n - 1; i++){
v[i] = read();
sum += v[i];
}
for(int i = 1; i <= n; i++){
a[i] = read();
}
if(sum % a[1] == 0){
sum = sum / d * a[1];
}
else{
sum = (sum / d + 1) * a[1];
}
ll min1 = a[1] , x = 0 , fuck = 1;
for(int i = 1; i <= n; i++){
ans = 0;
if(a[i] < min1){
for(int j = fuck; j < i; j++){
ans += v[j];
}
if(ans % d == 0){
x += (ans / d) * min1;
fuck = i;
}
else{
x += (ans / d + 1) * min1;
fuck = i;
}
min1 = a[i];
}
}
cout << x;
}