编程题
### 问题描述
初始有两个整数序列,一个严格递增,另一个严格递减。
严格递增序列是一个整数序列 $[x_1 < x_2 < \dots < x_k]$。严格递减序列是一个整数序列 $[y_1 > y_2 > \dots > y_l]$。注意空序列和只包含一个元素的序列都可以被视为递增或递减序列。
这两个序列被合并成一个序列 $a$。此后,序列 $a$ 被打乱了。例如,对于一个递增序列 $[1, 3, 4]$ 和一个递减序列 $[10, 4, 2]$,可能得到的一些序列 $a$ 是 $[1, 2, 3, 4, 4, 10]$ 或 $[4, 2, 1, 10, 4, 3]$。
输入 $T$ 组数据,每一组均为打乱后的序列 $a_i$。
你的任务是判断序列 $a_i$ 能否拆分为**任何**两个合适的初始序列。其中一个应该是**严格递增**的序列,另一个应该是**严格递减**的序列。注意,空序列和只包含一个元素的序列都可以被视为递增或递减序列。
如果输入中存在矛盾,无法将给定的序列 $a_i$ 分为递增和递减序列,则输出 "$\texttt{NO}$"。
### 输入格式
第一行包含一个整数 $T$ ($1 \le T \le 10$),表示序列的个数。
之后输入 $2T$ 行数据,每两行为一组数据。
每一组数据的第一行为一个整数 $n$ ($1\le n\le 2 \cdot 10^5$),表示这一组序列的元素个数。
每一组数据的第二行包含 $n$ 个整数 $a_i$($0 \le a_i \le 2 \cdot 10^5$),表示这一组序列的 $n$ 个元素。
### 输出格式
输出 $T$ 行,第 $i$ 行表示第 $i$ 个序列是否能够拆分为两个合适的初始序列。
如果输入中存在矛盾,无法将给定的序列分为递增和递减序列,则输出 "$\texttt{NO}$"。
否则,输出 "$\texttt{YES}$"。
### 样例输入
```text
3
7
7 2 7 3 3 1 4
5
4 3 1 5 3
5
1 1 2 1 2
```
### 样例输出
```text
YES
YES
NO
```