#include <bits/stdc++.h>
using namespace std;
long long n;
long long v[100005], t[100005], V[100005], T[100005];
long long sum;
priority_queue<long long, vector<long long>, greater<long long> > que;
int main() {
  scanf("%lld", &n);
  for (int i = 1; i <= n; i++) scanf("%lld", &v[i]);
  for (int i = 1; i <= n; i++) scanf("%lld", &t[i]), T[i] = t[i] + T[i - 1];
  for (int i = 1; i <= n; i++) {
    que.push(v[i] + T[i - 1]);
    V[i] = t[i] * que.size();
    while (!que.empty() && que.top() <= T[i]) {
      V[i] -= (T[i] - que.top());
      que.pop();
    }
  }
  printf("%lld", V[1]);
  for (int i = 2; i <= n; i++) printf(" %lld", V[i]);
  printf("\n");
  return 0;
}
