#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
struct SuffixArray {
vector<int> sa, lcp;
vector<int> sort_cyclic_shifts(string const& s) {
int n = s.size();
const int alphabet = 256;
vector<int> p(n), c(n), cnt(max(alphabet, n), 0);
for (int i = 0; i < n; i++)
cnt[s[i]]++;
for (int i = 1; i < alphabet; i++)
cnt[i] += cnt[i-1];
for (int i = 0; i < n; i++)
p[--cnt[s[i]]] = i;
c[p[0]] = 0;
int classes = 1;
for (int i = 1; i < n; i++) {
if (s[p[i]] != s[p[i-1]])
classes++;
c[p[i]] = classes - 1;
}
vector<int> pn(n), cn(n);
for (int h = 0; (1 << h) < n; ++h) {
for (int i = 0; i < n; i++) {
pn[i] = p[i] - (1 << h);
if (pn[i] < 0)
pn[i] += n;
}
fill(cnt.begin(), cnt.begin() + classes, 0);
for (int i = 0; i < n; i++)
cnt[c[pn[i]]]++;
for (int i = 1; i < classes; i++)
cnt[i] += cnt[i-1];
for (int i = n-1; i >= 0; i--)
p[--cnt[c[pn[i]]]] = pn[i];
cn[p[0]] = 0;
classes = 1;
for (int i = 1; i < n; i++) {
pair<int, int> cur = {c[p[i]], c[(p[i] + (1 << h)) % n]};
pair<int, int> prev = {c[p[i-1]], c[(p[i-1] + (1 << h)) % n]};
if (cur != prev)
++classes;
cn[p[i]] = classes - 1;
}
c.swap(cn);
}
return p;
}
vector<int> lcp_construction(string const& s) {
int n = s.size();
vector<int> rank(n, 0);
for (int i = 0; i < n; i++)
rank[sa[i]] = i;
int k = 0;
//kasai, modified a bit for circular rotations
vector<int> lcp(n, 0);
for (int i = 0; i < n; i++) {
if (rank[i] == n - 1) {
//if first suffix and last suffix start with same char, string is a repeated single char
k = s[sa[0]]==s[i]?n:0;
}else{
int j = sa[rank[i] + 1];
while (k < n && s[(i+k)%n] == s[(j+k)%n])
k++;
}
lcp[rank[i]] = k;
if (k)
k--;
}
return lcp;
}
SuffixArray(const string &s) {
sa = sort_cyclic_shifts(s);
lcp = lcp_construction(s);
}
};
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
string s(n,0);
vector<int> vec(n);
for(int i=0;i<n;++i){
cin>>vec[i];
}
for(int i=0;i<n;++i){
s[i]=vec[i]<vec[(i+1)%n]?'a':'b';
}
SuffixArray sa(s);
vector<int> ans(n);
for (int i=0;i<n;++i) {
int x = max(sa.lcp[i],sa.lcp[(i+n-1)%n])+1;
ans[sa.sa[i]]=x<=n ? x : -1;
}
for(int i = 0;i<n;++i){
cout<<ans[i]<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZW5kbCAnXG4nCgpzdHJ1Y3QgU3VmZml4QXJyYXkgewogICAgdmVjdG9yPGludD4gc2EsIGxjcDsKCXZlY3RvcjxpbnQ+IHNvcnRfY3ljbGljX3NoaWZ0cyhzdHJpbmcgY29uc3QmIHMpIHsKCSAgICBpbnQgbiA9IHMuc2l6ZSgpOwoJICAgIGNvbnN0IGludCBhbHBoYWJldCA9IDI1NjsKCSAgICB2ZWN0b3I8aW50PiBwKG4pLCBjKG4pLCBjbnQobWF4KGFscGhhYmV0LCBuKSwgMCk7CgkgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgkgICAgICAgIGNudFtzW2ldXSsrOwoJICAgIGZvciAoaW50IGkgPSAxOyBpIDwgYWxwaGFiZXQ7IGkrKykKCSAgICAgICAgY250W2ldICs9IGNudFtpLTFdOwoJICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQoJICAgICAgICBwWy0tY250W3NbaV1dXSA9IGk7CgkgICAgY1twWzBdXSA9IDA7CgkgICAgaW50IGNsYXNzZXMgPSAxOwoJICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CgkgICAgICAgIGlmIChzW3BbaV1dICE9IHNbcFtpLTFdXSkKCSAgICAgICAgICAgIGNsYXNzZXMrKzsKCSAgICAgICAgY1twW2ldXSA9IGNsYXNzZXMgLSAxOwoJICAgIH0KCSAgICB2ZWN0b3I8aW50PiBwbihuKSwgY24obik7CgkgICAgZm9yIChpbnQgaCA9IDA7ICgxIDw8IGgpIDwgbjsgKytoKSB7CgkgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkgICAgICAgICAgICBwbltpXSA9IHBbaV0gLSAoMSA8PCBoKTsKCSAgICAgICAgICAgIGlmIChwbltpXSA8IDApCgkgICAgICAgICAgICAgICAgcG5baV0gKz0gbjsKCSAgICAgICAgfQoJICAgICAgICBmaWxsKGNudC5iZWdpbigpLCBjbnQuYmVnaW4oKSArIGNsYXNzZXMsIDApOwoJICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKCSAgICAgICAgICAgIGNudFtjW3BuW2ldXV0rKzsKCSAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBjbGFzc2VzOyBpKyspCgkgICAgICAgICAgICBjbnRbaV0gKz0gY250W2ktMV07CgkgICAgICAgIGZvciAoaW50IGkgPSBuLTE7IGkgPj0gMDsgaS0tKQoJICAgICAgICAgICAgcFstLWNudFtjW3BuW2ldXV1dID0gcG5baV07CgkgICAgICAgIGNuW3BbMF1dID0gMDsKCSAgICAgICAgY2xhc3NlcyA9IDE7CgkgICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CgkgICAgICAgICAgICBwYWlyPGludCwgaW50PiBjdXIgPSB7Y1twW2ldXSwgY1socFtpXSArICgxIDw8IGgpKSAlIG5dfTsKCSAgICAgICAgICAgIHBhaXI8aW50LCBpbnQ+IHByZXYgPSB7Y1twW2ktMV1dLCBjWyhwW2ktMV0gKyAoMSA8PCBoKSkgJSBuXX07CgkgICAgICAgICAgICBpZiAoY3VyICE9IHByZXYpCgkgICAgICAgICAgICAgICAgKytjbGFzc2VzOwoJICAgICAgICAgICAgY25bcFtpXV0gPSBjbGFzc2VzIC0gMTsKCSAgICAgICAgfQoJICAgICAgICBjLnN3YXAoY24pOwoJICAgIH0KCSAgICByZXR1cm4gcDsKCX0KCQoJdmVjdG9yPGludD4gbGNwX2NvbnN0cnVjdGlvbihzdHJpbmcgY29uc3QmIHMpIHsKCSAgICBpbnQgbiA9IHMuc2l6ZSgpOwoJICAgIHZlY3RvcjxpbnQ+IHJhbmsobiwgMCk7CgkgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgkgICAgICAgIHJhbmtbc2FbaV1dID0gaTsKCQoJICAgIGludCBrID0gMDsKCSAgICAKCSAgICAvL2thc2FpLCBtb2RpZmllZCBhIGJpdCBmb3IgY2lyY3VsYXIgcm90YXRpb25zCgkgICAgdmVjdG9yPGludD4gbGNwKG4sIDApOwoJICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkgICAgICAgIGlmIChyYW5rW2ldID09IG4gLSAxKSB7CgkgICAgICAgIAkvL2lmIGZpcnN0IHN1ZmZpeCBhbmQgbGFzdCBzdWZmaXggc3RhcnQgd2l0aCBzYW1lIGNoYXIsIHN0cmluZyBpcyBhIHJlcGVhdGVkIHNpbmdsZSBjaGFyCgkgICAgICAgIAlrID0gc1tzYVswXV09PXNbaV0/bjowOwoJICAgICAgICB9ZWxzZXsKCQkgICAgICAgIGludCBqID0gc2FbcmFua1tpXSArIDFdOwoJCSAgICAgICAgd2hpbGUgKGsgPCBuICYmIHNbKGkrayklbl0gPT0gc1soaitrKSVuXSkKCQkgICAgICAgICAgICBrKys7CgkgICAgICAgIH0KCSAgICAgICAgbGNwW3JhbmtbaV1dID0gazsKCSAgICAgICAgaWYgKGspCgkgICAgICAgICAgICBrLS07CgkgICAgfQoJICAgIHJldHVybiBsY3A7Cgl9CgkKICAgIFN1ZmZpeEFycmF5KGNvbnN0IHN0cmluZyAmcykgewogICAgICAgIHNhID0gc29ydF9jeWNsaWNfc2hpZnRzKHMpOwogICAgICAgIGxjcCA9IGxjcF9jb25zdHJ1Y3Rpb24ocyk7CiAgICB9Cn07CgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCWNpbi50aWUoMCk7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIHN0cmluZyBzKG4sMCk7CiAgICB2ZWN0b3I8aW50PiB2ZWMobik7CiAgICBmb3IoaW50IGk9MDtpPG47KytpKXsKICAgIAljaW4+PnZlY1tpXTsKICAgIH0KCiAgICBmb3IoaW50IGk9MDtpPG47KytpKXsKICAgIAlzW2ldPXZlY1tpXTx2ZWNbKGkrMSklbl0/J2EnOidiJzsKICAgIH0KICAgIAogICAgU3VmZml4QXJyYXkgc2Eocyk7CgoJdmVjdG9yPGludD4gYW5zKG4pOwogICAgZm9yIChpbnQgaT0wO2k8bjsrK2kpIHsKICAgIAlpbnQgeCA9IG1heChzYS5sY3BbaV0sc2EubGNwWyhpK24tMSklbl0pKzE7CiAgICAJYW5zW3NhLnNhW2ldXT14PD1uID8geCA6IC0xOwogICAgfQoJZm9yKGludCBpID0gMDtpPG47KytpKXsKCQljb3V0PDxhbnNbaV08PGVuZGw7Cgl9CiAgICByZXR1cm4gMDsKfQo=