编程题
### 问题描述
蓝桥镇这天来了一帮劫匪,他们打劫了蓝桥银行,劫匪破解了银行金库的密码,劫匪从中带走了许多现金。临走时,劫匪将银行金库的密码进行了更换。事后,银行工作人员想要核对金库里少了多少现金,但是却无法破解劫匪留下的密码。经过很长的尝试,最终确定了密码的格式。
密码是一串长度为 $N$ 的整数序列 $a = (a_1, ..., a_N)$,序列中的每个元素都在 $1$ 到 $N$ 之间。为了解开密码,银行工作人员必须找到符合以下条件的整数对:
- $1 \leq i < j \leq N$。
- $min(a_i, a_j) = i$。
- $max(a_i, a_j) = j$。
现在蓝桥银行需要你的帮助,你能告诉工作人员满足条件的整数对有多少吗?
### 输入格式
第一行包含一个整数 $N$,表示序列 $a$ 的长度 $(2 \leq N \leq 10^5)$。
第二行包含 $N$ 个整数 $a_1,a_2,\cdots,a_N$,表示序列 $a$ 中的元素 $(1 \leq a_i \leq N)$。
### 输出格式
输出一个整数,表示满足条件的数对数量。
### 样例输入
```
5
1 2 3 4 5
```
### 样例输出
```
10
```