#include <bits/stdc++.h>
using namespace std;
int a[200010];
multiset<int> s;
template <typename _T>
void rd(_T &x) {
  int f = 1;
  x = 0;
  char s = getchar();
  while (s > '9' || s < '0') {
    if (s == '-') f = -1;
    s = getchar();
  }
  while (s >= '0' && s <= '9')
    x = (x << 3) + (x << 1) + (s - '0'), s = getchar();
  x *= f;
}
int main() {
  int n;
  rd(n);
  for (int i = 1; i <= n; i++) rd(a[i]);
  for (int i = 1; i <= n; i++) {
    int x;
    rd(x);
    s.insert(x);
  }
  for (int i = 1; i <= n; i++) {
    auto it = s.lower_bound((n - a[i]) % n);
    int x;
    if (it == s.end())
      x = *s.begin(), s.erase(s.begin());
    else
      x = *it, s.erase(it);
    printf("%d ", (x + a[i]) % n);
  }
  return 0;
}
