#include <stdio.h>
int main()
{
 int n;
 scanf("%d", &n);
 int a[n];
 int i, ans = 0;
 for(i = 0; i < n; i++)
  scanf("%d", &a[i]);
 for(i = 1; i < n - 1; i++)
  if((a[i - 1] >= a[i] && a[i] >= a[i + 1]) || (a[i - 1] <= a[i] && a[i] <= a[i + 1]))
   ans++;
 printf("%d\n", ans);
}
### Prompt

Create a solution in CPP for the following problem:

We have a permutation p = {p_1,\ p_2,\ ...,\ p_n} of {1,\ 2,\ ...,\ n}.

Print the number of elements p_i (1 < i < n) that satisfy the following condition:

* p_i is the second smallest number among the three numbers p_{i - 1}, p_i, and p_{i + 1}.

Constraints

* All values in input are integers.
* 3 \leq n \leq 20
* p is a permutation of {1,\ 2,\ ...,\ n}.

Input

Input is given from Standard Input in the following format:


n
p_1 p_2 ... p_n


Output

Print the number of elements p_i (1 < i < n) that satisfy the condition.

Examples

Input

5
1 3 5 4 2


Output

2


Input

9
9 6 3 2 5 8 7 4 1


Output

5

### Response

```cpp
#include <stdio.h>
int main()
{
 int n;
 scanf("%d", &n);
 int a[n];
 int i, ans = 0;
 for(i = 0; i < n; i++)
  scanf("%d", &a[i]);
 for(i = 1; i < n - 1; i++)
  if((a[i - 1] >= a[i] && a[i] >= a[i + 1]) || (a[i - 1] <= a[i] && a[i] <= a[i + 1]))
   ans++;
 printf("%d\n", ans);
}
```