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 java.util.*;
import java.io.*;
    public class Main
    {
        public static void main(String[] args)
        {
        Scanner sc =new Scanner(System.in);
        int a=sc.nextInt();int b=0,c=0;
        int i=1;int x=0;int x1=sc.nextInt();
        int ii=0;
        while(i<a)
        {
            if(i!=1){}
            else b=x1;
            c=sc.nextInt();
            if(c<b){x++;ii=i;}
            b=c;
            i++;
        }
        if(x1<c){x++;ii=a;}
        if(x>=2){System.out.println("-1");}else
        if(x==0){System.out.println(0);}else
        
        if(x==1){System.out.println(a-ii);}
        else System.out.println("lol");

        //int[] mas = new int[a];
        //for(int i=0;i<a;i++){}
        //System.out.println();
        }
    }