编程题
### 问题描述
小蓝和小红一起去爬山,山上有 $n$ 个休息点。他们拿到一张地图,地图上标注了每个休息点的高度,编号从 $1$ 到 $n$。
小蓝根据地图上的高度信息,将相邻的休息点用直线连接起来,形成了一条折线图。小红观察到折线图上有一些峰值。峰值指的是一个休息点的高度同时大于其两侧的休息点,设每个点的高度为 $a[i]$,即满足条件 $a[i]>a[i-1]$ 且 $a[i]>a[i+1]$。需要注意的是,折线图的边界点(即第一个和最后一个休息点)不是峰。
现在小红给出了 $q$ 个查询任务,每个任务由两个休息点的位置 $[l,r]$ 组成。小蓝的任务是计算在这两个休息点之间有多少个峰(不包括 $a[l]$ 和 $a[r]$)。
现在你是小蓝,你能编写一个程序来解决这个问题吗?
### 输入格式
第一行输入一个正整数 $n$,表示休息点的个数。
第二行输入 $n$ 个数字,代表 $1\sim n$ 号各个休息点的高度。
第三行输入一个 $q$,表示查询组数。
接下来 $q$ 行,每行输入 $2$ 个正整数 $[l,r]$,如题意所述。
### 输出格式
输出 $q$ 行,每行一个正整数,为区间内山峰数量。
### 样例输入
```text
6
1 3 8 4 9 1
3
1 5
3 5
1 6
```
### 样例输出
```text
1
0
2
```
### 说明
第一组测试用例如图所示:

因为边界不算峰,所以只有一个峰。
第二组测试用例如图所示:

第三组测试用例如图所示:

### 评测数据规模
$1\le n \le 10^5,1\le q \le 10^5,1\le a[i]\le 10^5,1\le l\le r\le n$。