#include <bits/stdc++.h>
using namespace std;
long long int v[100005];
long long int t[100004];
long long int meltedoffset = 0;
long long int meltedon[100005];
int main() {
  std::ios_base::sync_with_stdio(false);
  int n;
  multiset<long long int> piles;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> v[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> t[i];
  }
  for (int i = 0; i < n; i++) {
    piles.insert(v[i] + meltedoffset);
    long long int melted = 0;
    while (!piles.empty() && (*piles.begin() <= t[i] + meltedoffset)) {
      melted += *piles.begin() - meltedoffset;
      piles.erase(piles.begin());
    }
    meltedon[i] = melted + piles.size() * t[i];
    meltedoffset += t[i];
  }
  for (int i = 0; i < n; i++) {
    cout << meltedon[i] << " ";
  }
  cout << endl;
}
