#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <deque>
#include <cmath>
#include <set>
#include <unordered_map>
using namespace std;
#define all(v) ((v).begin()), ((v).end())
#define sz(v) ((int)((v).size()))
#define clr(v, d) memset(v, d, sizeof(v))
#define rep(i, v) for (int i = 0; i < sz(v); ++i)
#define lp(i, n) for (int i = 0; i < (int)(n); ++i)
#define lpi(i, j, n) for (int i = (j); i < (int)(n); ++i)
#define lpd(i, j, n) for (int i = (j); i >= (int)(n); --i)
typedef long long ll;
void fast_io()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
int main()
{
fast_io();
int n;
cin >> n;
int arr[n];
int maxIndex = 0;
for (int i = 0; i < n; i++){
cin >> arr[i];
if (arr[maxIndex] <= arr[i])
maxIndex = i;
}
int operations = 0;
for (int i = maxIndex+1; i < n; i++){
if (arr[n-i-1] < arr[i]){
cout << -1 << endl;
return 0;
}else{
operations++;
}
}
cout <<operations << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBhbGwodikgKCh2KS5iZWdpbigpKSwgKCh2KS5lbmQoKSkKI2RlZmluZSBzeih2KSAoKGludCkoKHYpLnNpemUoKSkpCiNkZWZpbmUgY2xyKHYsIGQpIG1lbXNldCh2LCBkLCBzaXplb2YodikpCiNkZWZpbmUgcmVwKGksIHYpIGZvciAoaW50IGkgPSAwOyBpIDwgc3oodik7ICsraSkKI2RlZmluZSBscChpLCBuKSBmb3IgKGludCBpID0gMDsgaSA8IChpbnQpKG4pOyArK2kpCiNkZWZpbmUgbHBpKGksIGosIG4pIGZvciAoaW50IGkgPSAoaik7IGkgPCAoaW50KShuKTsgKytpKQojZGVmaW5lIGxwZChpLCBqLCBuKSBmb3IgKGludCBpID0gKGopOyBpID49IChpbnQpKG4pOyAtLWkpCnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKdm9pZCBmYXN0X2lvKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgY291dC50aWUobnVsbHB0cik7CiAgICAjaWZuZGVmIE9OTElORV9KVURHRQogICAgICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiAgICAjZW5kaWYKfQppbnQgbWFpbigpCnsKICAgIGZhc3RfaW8oKTsKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICBpbnQgYXJyW25dOwogICAgaW50IG1heEluZGV4ID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICBjaW4gPj4gYXJyW2ldOwogICAgICAgIGlmIChhcnJbbWF4SW5kZXhdIDw9IGFycltpXSkKICAgICAgICAgICAgbWF4SW5kZXggPSBpOwogICAgfQogICAgaW50IG9wZXJhdGlvbnMgPSAgMDsKICAgIGZvciAoaW50IGkgPSBtYXhJbmRleCsxOyBpIDwgbjsgaSsrKXsKICAgICAgICBpZiAoYXJyW24taS0xXSA8IGFycltpXSl7CiAgICAgICAgICAgIGNvdXQgPDwgLTEgPDwgZW5kbDsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIG9wZXJhdGlvbnMrKzsKICAgICAgICB9CiAgICB9CiAgICBjb3V0ICA8PG9wZXJhdGlvbnMgPDwgZW5kbDsKfQ==