#include <iostream>
#include <vector>
using namespace std;

int main(){
  int n;
  cin >> n;
  vector<int>p(n);
  for(int i=0; i<n; i++){
    cin >> p[i];
  }
  int ret=0;
  for(int i=1; i<n-1; i++){
    if((p[i-1]-p[i])*(p[i+1]-p[i])<=0)ret++;
  }
  cout << ret;
  return 0;
}

### Prompt

Develop a solution in CPP to the problem described below:

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 <iostream>
#include <vector>
using namespace std;

int main(){
  int n;
  cin >> n;
  vector<int>p(n);
  for(int i=0; i<n; i++){
    cin >> p[i];
  }
  int ret=0;
  for(int i=1; i<n-1; i++){
    if((p[i-1]-p[i])*(p[i+1]-p[i])<=0)ret++;
  }
  cout << ret;
  return 0;
}

```