编程题
### 问题描述
小然是一位热衷于魔术的孩子,他有一套独特的卡牌,每张卡牌上都印有一个唯一的数字,形成了一个长度为 $N$ 的卡牌排列 $A$。小然可以进行以下魔术操作:
1) 选择左右边界 $L$ 和 $R$,满足 $1 \leq L \leq R \leq N$ 且 $R - L + 1 < N$。
2) 移除子卡牌序列 $A_L...A_R$,剩下的部分将重新连接起来。
这个操作的得分等于被移除的子序列的长度,即 $R - L + 1$。
例如,如果 $A = [3, 1, 4, 6, 5, 2]$,小然选择 $L = 3, R = 5$,那么这次操作的得分就是 $3$,新的 $A$ 变为 $[3, 1, 2]$。
小然想要进行一次这样的操作,使得操作后的 $A$ 仍然是一个排列,即每个从 $1$ 到新的 $A$ 的长度的整数仍然只出现一次。你能帮助小然找出他能得到的最高分数是多少吗?
### 输入格式
第一行包含一个整数 $T$,表示测试用例的数量。
每个测试用例由两行组成:
- 第一行包含一个整数 $N$,表示排列 $A$ 的大小。
- 第二行包含 $N$ 个空格分隔的整数 $A_1, A_2, ..., A_N$,表示排列 $A$。
### 输出格式
对每个测试用例,输出小然在执行操作一次后仍保持 $A$ 为排列的情况下能得到的最高分数。
### 样例输入
```
3
3
2 1 3
7
1 2 3 4 5 6 7
6
3 1 4 6 5 2
```
### 样例输出
```
1
6
3
```
### 说明
样例 1:小然可以移除子序列 $A_3$,得分为 $1$,新的 $A$ 变为 $[2, 1]$,仍然是一个排列。
样例 2:小然可以移除子序列 $A_2...A_7$,得分为 $6$,新的 $A$ 变为 $[1]$,仍然是一个排列。
样例 3:小然可以移除子序列 $A_3...A_5$,得分为 $3$,新的 $A$ 变为 $[3, 1, 2]$,仍然是一个排列。
### 评测数据范围
$1 \leq T \leq 10^5$。
$2 \leq N \leq 10^5$。
$A$ 是一个排列。
所有测试用例中 $N$ 的总和不超过 $5 \times 10^5$。