#CF2000B. 公交车上的座位安排

公交车上的座位安排

B. 公交车上的座位安排

  • 时间限制:每测试点 22
  • 内存限制:每测试点 256256 兆字节

在伯兰,一辆公交车有一排座位,编号从 11nn
乘客上车时被建议始终遵守以下规则:

  1. 如果车上没有座位被占用,乘客可以选择任意一个空闲座位坐下;
  2. 否则,乘客应该坐在任意一个至少有一个相邻座位已被占用的空闲座位上。
    也就是说,对于座位 ii1in1 \le i \le n),只有当座位 i1i-1i+1i+1 中至少有一个被占用时,乘客才能坐在座位 ii

今天,一共有 nn 名乘客按顺序上车。
数组 aa 按时间顺序记录了每位乘客坐下的座位编号:
a1a_1 是第一个乘客坐下的座位,a2a_2 是第二个乘客坐下的座位,依此类推。

你知道数组 aa 的内容。请判断是否所有乘客都遵守了上述建议


示例
例如,若 n=5n = 5,且 a=[5,4,2,1,3]a = [5, 4, 2, 1, 3]
那么建议没有被遵守,因为第 33 位乘客坐在了座位 22,而此时相邻座位 1133 都还是空闲的。


输入格式
第一行包含一个整数 tt1t1041 \le t \le 10^4)——测试用例的数量。
接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5)——公交车的座位数以及乘客的人数。
每个测试用例的第二行包含 nn互不相同的整数 aia_i1ain1 \le a_i \le n)——乘客按时间顺序坐下的座位编号。

数据保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5,且不会出现乘客坐到已被占用的座位的情况。


输出格式
对于每个测试用例,输出一行:

  • 如果所有乘客都遵守了建议,输出 "YES"
  • 否则输出 "NO"

输出时大小写不敏感(例如 "yEs""yes""Yes""YES" 均视为肯定答案)。


样例输入

4
5
5 4 2 1 3
3
2 3 1
4
2 3 1 4
5
1 2 3 5 4

样例输出

NO
YES
YES
NO

提示
第一个测试用例的解释见题目描述。