#include <bits/stdc++.h>
using namespace std;
int n, i, j, k, h, m, d[10000], s[10000], ma[10000], xa, l, r;
long long kq;
int main() {
  scanf("%d %d\n", &m, &k);
  for (i = 1; i <= m; i++) scanf("%d ", &d[i]);
  scanf("\n");
  ma[0] = 0;
  for (i = 1; i <= m; i++) {
    scanf("%d ", &s[i]);
    ma[i] = max(ma[i - 1], s[i]);
  }
  kq = 0;
  xa = s[1];
  s[m + 1] = 0;
  for (i = 1; i <= m; i++) {
    if (d[i] > xa) {
      l = (d[i] - xa) / ma[i];
      r = (d[i] - xa) - l * ma[i];
      if (r > 0) {
        l++;
        xa = xa + s[i + 1] + l * ma[i] - d[i];
      }
      if (r == 0) {
        xa = xa + s[i + 1] + l * ma[i] - d[i];
      }
      kq = kq + k * l + d[i];
    } else {
      if (d[i] <= xa) {
        xa = xa + s[i + 1] - d[i];
        kq = kq + d[i];
      }
    }
  }
  cout << kq;
  return 0;
}
