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
n= int(input())
list=list(map(int,input().split()))
list2=[]
c=0

for i in range(0,n-1):
	if list[i]>list[i+1]:
	      c=c+1
	      list2.append(i)
if n>3:
    if c==1:
       	if list[n-1]<=list[0]:
       		print(n-1-list2[0])
       	else:
       		print("-1")
		 
    elif c==0:
	         print("0")
    else:
	         print("-1")

else:
	if c==1:
		if list[n-1]<=list[0]:
			print(n-1-list2[0])
		else:
		    print("-1")
	elif c==0:
		print("0")
	else:
		print("-1")
		

	     
	      
	      
	