编程题
### 问题描述
小蓝是一个年轻有为的魔法师,他正在进行一场不同寻常的实验。
他手上有一个由 $1$ 到 $N$ 的数字组成的序列 $A$,他可以进行一种特殊的魔法操作:将序列中的两个相邻数字交换位置。
小蓝希望通过不断使用这个魔法操作,将序列变成一个新的 $B$,使得对于所有的 $1\le i\le N$,都满足 $B_i\ne i$。也就是说,序列 $B$ 中的任意一个元素都不能和它在原序列 $A$ 中的位置相同。
现在小蓝想知道,至少需要进行多少次魔法操作才能达到这个目标呢?
### 输入格式
输入共 $2$ 行。
第一行包含一个整数 $N$($1\leq N \leq 10^5$),表示序列的长度。
第二行包含 $N$ 个整数 $p_1,p_2,\ldots,p_N$($1\leq p_i \leq N$),$p_1, p_2, \ldots, p_N$ 是 $1,2,\ldots,N$ 的一个排列。
### 输出格式
输出一个整数,表示将初始序列变换成满足 $B_i\ne i$ 的目标序列所需的最小魔法操作次数。
### 样例输入
```
5
3 1 4 5 2
```
### 样例输出
```
2
```