#include <bits/stdc++.h>
using namespace std;
const int maxn = 3e5 + 5;
const int maxm = 305;
long long arr[maxn];
long long arr1[maxn];
long long arr2[maxn];
long long cnt[maxn];
long long dp1[maxn], dp2[maxn], dp3[maxn];
long long dp[1010][1010][2];
const long long mod = (long long)(1e9 + 7);
long long n, m, v, k, q, D, H, a, b, t, c, x, y, h, d;
string s;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long lcm(long long a, long long b) {
  long long g = gcd(a, b);
  return a / g * b;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    scanf("%d", &arr[i]);
  }
  multiset<int> mulset;
  for (int i = 0; i < n; i++) {
    scanf("%d", &arr1[i]);
    mulset.insert(arr1[i]);
  }
  for (int i = 0; i < n; i++) {
    int t = arr[i];
    t = n - t;
    auto iter = mulset.lower_bound(t);
    if (iter == mulset.end()) iter = mulset.begin();
    int ans = *iter;
    printf("%d ", (ans + arr[i]) % n);
    mulset.erase(iter);
  }
  cout << endl;
  return 0;
}
