#include <bits/stdc++.h>
using namespace std;
struct yee {
  int val, index;
  bool lbig;
};
bool case1(const yee l, const yee r) { return l.val > r.val; }
bool case2(const yee l, const yee r) { return l.index < r.index; }
set<int> unused;
int a[50004];
yee b[50004];
int n;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", a + i);
    unused.insert(i);
  }
  a[n] = a[0];
  for (int i = 0; i < n; i++)
    b[i] = {max((n - a[i]) - a[i + 1], a[i + 1] - (n - a[i])), i,
            (n - a[i]) > a[i + 1]};
  sort(b, b + n, case1);
  for (int i = 0; i < n; i++) {
    if (b[i].lbig) {
      b[i].val = *(unused.begin());
      unused.erase(unused.begin());
    } else {
      b[i].val = *(--unused.end());
      unused.erase(--unused.end());
    }
  }
  sort(b, b + n, case2);
  for (int i = 0; i < n; i++) {
    if (i) printf(" ");
    printf("%d", b[i].val);
  }
  printf("\n");
}
