编程题
### 问题描述
小蓝是一位来自神秘森林的小精灵,她有一本神奇的魔法书。魔法书上写着 $N$ 个不同的魔法咒语,每个咒语都有一个唯一的编号,从 $1$ 到 $N$ 。然而,这本魔法书有一种神奇的力量,只要首个咒语的编号为 $1$,最后一个咒语的编号为 $N$ ,它就会释放出强大的魔法力量。
现在,小蓝发现魔法咒语的顺序被混乱了,她必须将它们重新排列。小蓝可以选择一个咒语,并使用魔法将其与紧邻的咒语交换位置。她想知道,要使得魔法书重新恢复魔力,最少需要执行多少次这样的操作。
请你帮助小蓝计算出最少的操作次数。
### 输入格式
输入的第一行包含一个整数 $N$,表示魔法咒语的数量。
接下来的一行包含 $N$ 个整数 $P_1, P_2, ..., P_N$,表示魔法咒语的当前顺序。每个咒语的编号都是独一无二的,并且每个编号都在 $1$ 到 $N$ 的范围内。
数据范围保证:$2 \leq N \leq 10^5$。
### 输出格式
输出一个整数,表示小蓝最少需要执行的操作次数,才能使魔法书恢复魔力。
### 样例输入
```markdown
5
2 1 3 5 4
```
### 样例输出
```markdown
2
```
### 样例解释
只要交换第 $1$ 个和第 $2$ 个咒语,再交换第 $4$ 个第 $5$ 个咒语即可满足条件。