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 collections
# n = int(input())
# li = list(map(int,input().split()))[:n]
# l = len(li)
# li2 = sorted(li)
# count = 0
#
# for i in range(l):
#     if li == li2:
#         break
#     else:
#         li = collections.deque(li)
#         li.rotate(1)
#         li = list(li)
#         count+=1
#
# if count==l:
#     print(-1)
# else:
#     print(count)


n = int(input())
li = list(map(int,input().split()))[:n]
li2 = sorted(li)
count=0
pos = 0
for i in range(n):
    if li[i-1]>li[i]:
        count+=1
        pos = i
if li==li2:
    print(0)
elif count>1:
    print(-1)
else:
    print(n-pos)
