One 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:
$*a*_{1}, *a*_{2}, ..., *a*_{*n*} → *a*_{*n*}, *a*_{1}, *a*_{2}, ..., *a*_{*n* - 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* ≤ 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.
样例
2
2 1
1
3
1 3 2
-1
2
1 2
0
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。