#include <bits/stdc++.h>
using namespace std;
const int mx = 2e5 + 5;
int dp[mx][2];
int n, c, a[mx], b[mx];
int solve(int i, int state) {
  if (i == 0) {
    if (state)
      return INT_MAX;
    else
      return 0;
  }
  if (dp[i][state] != -1) return dp[i][state];
  if (state)
    dp[i][state] = b[i] + min(solve(i - 1, state), c + solve(i - 1, state ^ 1));
  else
    dp[i][state] = a[i] + min(solve(i - 1, state), solve(i - 1, state ^ 1));
  return dp[i][state];
}
void solveFunction() {
  memset(dp, -1, sizeof dp);
  cin >> n >> c;
  for (int i = 1; i < n; i++) cin >> a[i];
  for (int i = 1; i < n; i++) cin >> b[i];
  solve(n - 1, 0);
  solve(n - 1, 1);
  dp[0][0] = dp[0][1] = 0;
  for (int i = 0; i < n; i++) cout << min(dp[i][0], dp[i][1]) << " ";
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  int t = 1;
  while (t--) {
    solveFunction();
  }
}
