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

def minindex(alist):
    index = -1
    min = 1000000
    for idx, num in enumerate(alist):
        if num < min:
            index = idx
            min = num
    return index
            
def isSorted(array):
    min = 0
    for num in array:
        if num < min:
            return False
        min = num
    return True 


nums = int(sys.stdin.readline())

numbers = [int(num) for num in sys.stdin.readline().split()[0:nums]]

index = minindex(numbers)
min = numbers[index]


moves = 0
if index == 0:
    for num in range(nums-1, -1, -1):
        if num == 0:
            moves = 0
            break
        if numbers[num] == min:
            moves = moves + 1
        else:
            break

    newnumbers = numbers[index:nums-moves]
    if isSorted(newnumbers):
        print(moves)
    else:
        print(-1)

else:
    newnumbers = numbers[index:]
    newnumbers.extend(numbers[0:index])
    if isSorted(newnumbers):
        print(nums - index)
    else:
        print(-1)