int n;
int aa[60];
int ans[60];
{
    rd(n, aa(n));
    ans[0..n] = (0..n);
    rep(_, 9999){
        bool fail = false;
        rep(i, n){
            if (ans[i] == aa[i]){
                fail = true;
                swap(ans[i], ans[(i+1)%n]);
                break;
            }
        }
        if (fail) continue;
        rep(i,n) wt(ans[i]);
        exit(0);
    }
    wt("-1");
}