One day, Twilight Sparkle is interested in how to sort a sequence of integers a1, a2, ..., an in non-decreasing order. Being a young unicorn, the only operation she can perform is a unit shift. That is, she can move the last element of the sequence to its beginning:

a1, a2, ..., an → an, a1, a2, ..., an - 1.

Help Twilight Sparkle to calculate: what is the minimum number of operations that she needs to sort the sequence?

Input

The first line contains an integer n (2 ≤ n ≤ 105). The second line contains n integer numbers a1, a2, ..., an (1 ≤ ai ≤ 105).

Output

If it's impossible to sort the sequence output -1. Otherwise output the minimum number of operations Twilight Sparkle needs to sort it.

Examples

Input

2
2 1


Output

1


Input

3
1 3 2


Output

-1


Input

2
1 2


Output

0
import sys
import array
import heapq

#sys.stdin = open("in.txt", "r")
#sys.stdout = open("out.txt", "w")

def solve(arr,n):
    #increasing part
    idx=0
    m=0;
    while idx<n-1:
        if arr[idx]<=arr[idx+1]:
            m+=1
        else:
            break
        idx+=1
    can=1
    # make sure all items are less than arr[0]
    for i in range(m+1,n):
        if arr[i]>arr[0]:
            can=0
            break

    # make sure we don't have another peak
    for i in range(m+1,n-1):
        if arr[i]>arr[i+1]:
            can=0
            break

    if can:
        return n-m-1
    else:
        return -1

######################read shit here the invoke solve
n=int(input())
arr=list(input().split(' '))
for i in range(len(arr)):
    arr[i]=int(arr[i])
print(solve(arr,n))