#### Registered Users Only

Please login to utilize this feature.

Do note that this website only supports submissions in C++.

### Title

### Problem Statement

You are given an array `A` of length `N`.
Your task is to divide it into several contiguous subarrays.
Here, all subarrays obtained must be sorted in either non-decreasing or non-increasing order.
At least how many subarrays do you need to divide `A` into?

### Constraints

`1 ≤ N ≤ 10`^{5}`1 ≤ A`_{i}≤ 10^{9}- Each
`A`is an integer._{i}

### Input

Input is given from Standard Input in the following format:

NA_{1}A_{2}...A_{N}

### Output

Print the minimum possible number of subarrays after division of `A`.

### Sample Input 1

6 1 2 3 2 2 1

### Sample Output 1

2

One optimal solution is to divide the array into `[1,2,3]` and `[2,2,1]`.

### Sample Input 2

9 1 2 1 2 1 2 1 2 1

### Sample Output 2

5

### Sample Input 3

7 1 2 3 2 1 999999999 1000000000

### Sample Output 3

3

### Tags

### Subtasks and Limits

Subtask | Score | #TC | Time | Memory | Scoring |
---|---|---|---|---|---|

1 | 100 | 14 | 1s | 256MB | Minimum |

2 | 0 | 3 | 1s | 256MB | Minimum |

### Judge Compile Command

g++-8 ans.cpp -o sortarray -Wall -Wshadow -static -O2 -lm -m64 -s -w -std=gnu++17 -fmax-errors=512