#include <iostream>
using namespace std;
int main(){
  int n,x,y,z,ans=0;
  cin>>n;
  cin>>x>>y;
  for(int i=2;i<n;i++){
    cin>>z;
    if( ((x<y)&&(y<z)) || ((x>y)&&(y>z)) )ans++;
    x=y;y=z;
  }
  cout << ans << endl;
  return 0;
} 
### Prompt

Construct a Cpp code solution to the problem outlined:

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>
using namespace std;
int main(){
  int n,x,y,z,ans=0;
  cin>>n;
  cin>>x>>y;
  for(int i=2;i<n;i++){
    cin>>z;
    if( ((x<y)&&(y<z)) || ((x>y)&&(y>z)) )ans++;
    x=y;y=z;
  }
  cout << ans << endl;
  return 0;
} 
```