Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

The problem statement has recently been changed. View the changes.

×
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-2022 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Oct/03/2022 10:58:29 (g1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|