#include <bits/stdc++.h>
using namespace std;
int n, c, a[200020], b[200020];
long long dp[200020][3];
long long rec(int ind, bool elev) {
  if (ind == -1) return 0;
  if (dp[ind][elev] != -1) return dp[ind][elev];
  if (elev)
    return dp[ind][elev] =
               min(rec(ind - 1, false) + a[ind], rec(ind - 1, true) + b[ind]);
  else
    return dp[ind][elev] = min(rec(ind - 1, elev) + a[ind],
                               rec(ind - 1, true) + b[ind] + c);
}
int main() {
  scanf("%d %d", &n, &c);
  for (int i = 0; i < n - 1; i++) scanf("%d", a + i);
  for (int i = 0; i < n - 1; i++) scanf("%d", b + i);
  memset(dp, -1, sizeof dp);
  rec(n - 2, false);
  dp[n - 2][true] = 1e9;
  printf("0 ");
  for (int i = 0; i < n - 1; i++) {
    if (dp[i][0] < dp[i][1] + c)
      printf("%lld ", dp[i][0]);
    else
      printf("%lld ", dp[i][1] + c);
  }
  return 0;
}
