#include using namespace std; #ifdef _RUTHEN #include "debug.hpp" #else #define show(...) true #endif using ll = long long; #define rep(i, n) for (int i = 0; i < (n); i++) template using V = vector; #include int main() { ios::sync_with_stdio(false); cin.tie(0); int N; cin >> N; V X(N), A(N); rep(i, N) cin >> X[i]; rep(i, N) cin >> A[i]; map mp; rep(i, N) mp[X[i]] = i; atcoder::dsu uf(N); rep(i, N) { if (mp.count(X[i] + A[i])) { uf.merge(i, mp[X[i] + A[i]]); } if (mp.count(X[i] - A[i])) { uf.merge(i, mp[X[i] - A[i]]); } } V max_ind(N, -1000000000000LL); rep(i, N) max_ind[uf.leader(i)] = max(max_ind[uf.leader(i)], A[i] + X[i]); rep(i, N) cout << max_ind[uf.leader(i)] - X[i] << '\n'; return 0; }