#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, d;
const int MAXN = 1e5 + 10;
int v[MAXN], a[MAXN], ans;
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];
int k = d - v[1] % d, mi = a[1];
ans = a[1] * ceil(v[1] * 1.0 / d);
for (int i = 2; i <= n - 1; i++) {
k -= v[i];
mi = min(mi, a[i]);
if (k < 0) {
ans += mi * ceil((-k) * 1.0 / d);
k += ceil((-k) * 1.0 / d ) * d;
}
}
cout << ans;
return 0;
}