#include <bits/stdc++.h>
using namespace std;
const int maxx = 600010;
const double pi = acos(-1.0);
const double eps = 1e-15;
struct node {
  int num, val;
  bool operator<(const node &X) const { return val < X.val; }
};
multiset<node> s;
multiset<node>::iterator it;
int t, n, m;
int ans = 0, total = 0, sum = 0, cnt = 0;
int a[maxx], b[maxx];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  a[n + 1] = a[1];
  for (int i = 1; i <= n; i++) s.insert(node{i, a[i] + a[i + 1]});
  total = 0;
  for (it = s.begin(); it != s.end(); it++) {
    b[it->num] = total;
    total++;
  }
  for (int i = 1; i <= n; i++) printf("%d ", b[i]);
  return 0;
}
