#include <bits/stdc++.h>
using namespace std;
struct trip {
  int a, b, c;
};
const int MAXINT = 2 * 1e5 + 1;
int n, c, stairs[MAXINT], elevator[MAXINT], dp[MAXINT][2];
void solve(int pos) {
  if (pos < n) {
    dp[pos][0] = min(dp[pos - 1][1], dp[pos - 1][0]) + stairs[pos - 1];
    dp[pos][1] = min(dp[pos - 1][1], dp[pos - 1][0] + c) + elevator[pos - 1];
    solve(pos + 1);
  }
}
int main() {
  cin >> n >> c;
  for (int i = 0; i < n - 1; i++) cin >> stairs[i];
  for (int i = 0; i < n - 1; i++) cin >> elevator[i];
  for (int i = 0; i < n; i++)
    for (int j = 0; j < 2; j++) dp[i][j] = 0x3f3f3f3f;
  dp[0][0] = 0, dp[0][1] = c;
  solve(1);
  for (int i = 0; i < n; i++) cout << min(dp[i][0], dp[i][1]) << " ";
  cout << endl;
  return 0;
}
