#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long t, n, m, i, s, j, k, c;
  {
    s = 0;
    cin >> n >> k;
    vector<long long> a(n - 1), b(n - 1);
    long long dp[n + 1][2];
    dp[0][0] = 0;
    dp[0][1] = 1000000007;
    for (i = 0; i < n - 1; i++) cin >> a[i];
    for (i = 0; i < n - 1; i++) cin >> b[i];
    for (i = 0; i < n - 1; i++) {
      dp[i + 1][0] = a[i] + min(dp[i][0], dp[i][1]);
      dp[i + 1][1] = b[i] + min(dp[i][0] + k, dp[i][1]);
    }
    for (i = 0; i < n; i++) cout << min(dp[i][0], dp[i][1]) << " ";
  }
  return 0;
}
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long power(long long x, long long y, long long m) {
  if (y == 0) return 1;
  long long p = power(x, y / 2, m) % m;
  p = (p * p) % m;
  return (y % 2 == 0) ? p : (x * p) % m;
}
long long modInverse(long long a, long long m) { return power(a, m - 2, m); }
