#include <bits/stdc++.h>
using namespace std;

int main() {
  int N,i,count;
  cin >> N;
  int p,q,r;
  count=0;
  cin >> p;
  cin >> q;
  for(i=2;i<N;i++){
    cin >> r;
	if((p-q)*(q-r)>=0)
      count+=1;
    p=q;
    q=r;
  }
  cout << count << endl;
}

### 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 <bits/stdc++.h>
using namespace std;

int main() {
  int N,i,count;
  cin >> N;
  int p,q,r;
  count=0;
  cin >> p;
  cin >> q;
  for(i=2;i<N;i++){
    cin >> r;
	if((p-q)*(q-r)>=0)
      count+=1;
    p=q;
    q=r;
  }
  cout << count << endl;
}

```