No tag edit access

B. Little Pony and Sort by Shift

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputOne day, Twilight Sparkle is interested in how to sort a sequence of integers *a*_{1}, *a*_{2}, ..., *a*_{n} 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:

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* ≤ 10^{5}). The second line contains *n* integer numbers *a*_{1}, *a*_{2}, ..., *a*_{n} (1 ≤ *a*_{i} ≤ 10^{5}).

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

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Sep/25/2017 05:27:49 (c2).

Desktop version, switch to mobile version.

User lists

Name |
---|