编程题
### 问题描述
给定一个正整数 $n$ 和一个 $1$ 到 $n$ 的排列 $p$,定义一个区间 $[l,r]$ ($1\leq l \leq r \leq n$) 的幂塔函数 $f(l,r)$ 值为:
- $p_l$,若 $l = r$。
- $f(l,r-1)^{p_r}$,若 $l < r$。
求排列 $p$ 全部的 $\frac{n\cdot (n-1)}{2}$ 个区间共有多少种不同的幂塔函数值。相同的值只计算一次。
### 输入格式
输入第一行包含一个整数 $n$,表示排列 $p$ 的长度。
第二行包含 $n$ 个整数,表示排列 $p$。保证 $1$ 到 $n$ 中的每一个数在 $p$ 中出现且仅出现一次。
### 输出格式
输出一个整数,全部的 $\frac{n\cdot (n-1)}{2}$ 个区间不同的幂塔函数值的个数。相同的值只计算一次。
### 样例输入
```text
4
2 1 4 3
```
### 样例输出
```text
7
```
### 说明
排列 $p$ 的长度为 $4$,共有 $10$ 个区间,其中区间 $[1,1],[1,2],[1,3],[1,4],[2,2],[2,3],[2,4],[3,3],[3,4],[4,4]$的权值分别为 $2,2,16,4096,1,1,1,4,64,3$。其中共有 $7$ 种不同的幂塔函数值。
### 评测数据规模
对于 $20$% 的评测数据,$1\leq n \leq 100$。
对于 $40$% 的评测数据,$1\leq n \leq 10^3$。
对于 $100$% 的评测数据,$1\leq n \leq 5\times 10^4$。