Chiaki 有一张很大的纸。这张纸是一个 $1 \times n$ 的矩形,在每个 $1 \times 1$ 的网格中从左到右依次写着 $1$ 到 $n$ 的数字。
Chiaki 想要通过以下操作折叠这张纸:
- 在位置 $p_i$ 处向右折叠纸张。操作后,左侧尺寸为 $1 \times p_i$ 的部分必须位于右侧尺寸为 $1 \times (\text{当前纸张宽度} - p_i)$ 的部分之上。
- 在位置 $p_i$ 处向左折叠纸张。操作后,右侧尺寸为 $1 \times (\text{当前纸张宽度} - p_i)$ 的部分必须位于左侧尺寸为 $1 \times p_i$ 的部分之上。
在 Chiaki 执行上述操作若干次后,纸张被折叠成了一个 $1 \times 1$ 的正方形。如果我们现在从上到下写下每个方格上的数字,我们将得到一个 $1$ 到 $n$ 的排列。
现在,给定一个 $1$ 到 $n$ 的排列,Chiaki 想知道是否可以通过上述操作得到该排列。
输入格式
输入包含多组测试数据。第一行包含一个整数 $T$,表示测试数据组数。 对于每组测试数据: 第一行包含一个整数 $n$ ($1 \le n \le 10^6$),表示纸张的长度。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$,它们构成了一个 $1$ 到 $n$ 的排列,表示从上到下折叠后的纸张网格中写着的数字。
保证所有测试数据中 $n$ 的总和不超过 $10^6$。
输出格式
对于每组测试数据,输出一行。如果可以得到该排列,输出 “Yes”(不含引号),否则输出 “No”(不含引号)。
样例
输入 1
3 4 2 1 4 3 7 2 5 4 3 6 1 7 4 1 3 2 4
输出 1
Yes Yes No