#include <bits/stdc++.h>
using namespace std;
int n, c;
int f[201000][2];
int dataa[201000], datab[201000];
int main() {
  cin >> n >> c;
  for (int i = 1; i < n; i++) cin >> dataa[i + 1];
  for (int i = 1; i < n; i++) {
    cin >> datab[i + 1];
    datab[i + 1] += datab[i];
  }
  memset(f, 0x3f, sizeof f);
  f[1][0] = 0, f[1][1] = c;
  int minn = 0x3f3f3f, maxx = 0x3f3f3f;
  minn = f[1][0] - datab[1], maxx = f[1][1] - datab[1];
  for (int i = 2; i <= n; i++) {
    f[i][0] = min(f[i - 1][0], f[i - 1][1]) + dataa[i];
    f[i][1] = min(minn + datab[i] + c, maxx + datab[i]);
    minn = min(minn, f[i][0] - datab[i]);
    maxx = min(maxx, f[i][1] - datab[i]);
  }
  for (int i = 1; i <= n; i++) cout << min(f[i][0], f[i][1]) << " ";
}
