#include <bits/stdc++.h>
using namespace std;
int n, c, a[200005], b[200005], f[200005][2];
int tinh(int pos, int ok) {
  if (f[pos][ok] != -1) return f[pos][ok];
  if (pos == 1) return 0;
  int tmp;
  int tmp1 = tinh(pos - 1, 0) + a[pos];
  int tmp2 = tinh(pos - 1, 1) + b[pos];
  if (ok == 0) tmp2 += c;
  tmp = min(tmp1, tmp2);
  return f[pos][ok] = tmp;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> c;
  memset(f, -1, sizeof f);
  for (int i = 2; i <= n; ++i) cin >> a[i];
  for (int i = 2; i <= n; ++i) cin >> b[i];
  tinh(n + 1, 1);
  f[1][0] = f[1][1] = 0;
  for (int i = 1; i <= n; ++i) cout << max(f[i][1], f[i][0]) << " ";
  return 0;
}
