#include <bits/stdc++.h>
using namespace std;
int n, m, dr, price, reqnum, a[1000016], v[100016], d[100016], req[100016], reqlist[100016];
int main()
{
scanf("%d%d", &n, &dr);
for (int i = 1; i <= n - 1; i++)
{
scanf("%d", &v[i]);
}
for (int i = 1; i <= n; i++)
{
scanf("%d", &a[i]);
}
m = a[1];
reqlist[1] = 1;
reqnum = 1;
for (int i = 1; i <= n - 1; i++)
{
if (a[i] < m)
{
m = a[i];
reqnum++;
reqlist[reqnum] = i;
}
}
d[1] = 0;
for (int i = 2; i <= n; i++)
{
d[i] = d[i - 1] + v[i - 1];
}
for (int i = 1; i <= n; i++)
{
req[i] = d[i] / dr;
if (d[i] % dr != 0) req[i]++;
}
reqlist[reqnum + 1] = n;
for (int i = 1; i <= reqnum; i++)
{
price += a[reqlist[i]] * (req[reqlist[i + 1]] - req[reqlist[i]]);
}
printf("%d\n", price);
return 0;
}