N = int(input()) X = list(map(int, input().split())) A = list(map(int, input().split())) x2i = {X[i]: i for i in range(N)} bs = [] for i, (x, a) in enumerate(zip(X, A)): bs.append((x+a, i)) def dfs(p, t, dists): if dists[p] != 0: return dists[p] = max(dists[p], t) lx = X[p] - A[p] li = x2i.get(lx, -1) if li != -1: dfs(li, t, dists) dists[p] = max(dists[p], dists[li]) rx = X[p] + A[p] ri = x2i.get(rx, -1) if rx in x2i: dfs(ri, t, dists) dists[p] = max(dists[p], dists[ri]) dists = [0] * N for t, i in sorted(bs, reverse=True): if dists[i] != 0: continue dfs(i, t, dists) for i in range(N): print(dists[i] - X[i])