#CF2066B. 白色魔法

白色魔法

每个测试的时间限制:2 秒
内存限制:256 兆字节

如果对于所有 1in11 \le i \le n-1,都满足: [ \min(a_1, \dots, a_i) \ge \operatorname{mex}(a_{i+1}, \dots, a_n) ] 则我们称序列 a1,a2,,ana_1, a_2, \dots, a_n魔法的。特别地,任何长度为 11 的序列都被认为是魔法的。

最小排除值(MEX):对于整数集合 a1,a2,,aka_1, a_2, \dots, a_k,其 mex\operatorname{mex} 定义为最小的非负整数 tt,使得 tt 不出现在该集合中。


题目
给定一个由 nn 个非负整数组成的序列 aa。请找出序列 aa 的一个魔法子序列 ^* 的最大可能长度。

^* 序列 aa 是序列 bb 的子序列,如果 aa 可以通过删除 bb 中若干个(可能为零个或全部)元素(位置任意)得到。


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

每个测试用例的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5)—— 序列 aa 的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n0ai1090 \le a_i \le 10^9)—— 序列 aa 中的元素。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5


输出格式
对于每个测试用例,输出一个整数 —— 序列 aa 的一个魔法子序列的最大可能长度。


示例

输入:

8
5
4 3 2 1 0
6
4 3 3 2 1 0
4
2 0 1 2
1
777
4
1000000000 1 7 9
2
0 1
2
1 2
4
0 1 0 1

输出:

5
5
3
1
4
2
2
3

示例解释

  • 第一个测试用例:序列 [4,3,2,1,0][4,3,2,1,0] 本身就是魔法的,因为:

    • min(4)=4\min(4)=4mex(3,2,1,0)=4\operatorname{mex}(3,2,1,0)=4444 \ge 4
    • min(4,3)=3\min(4,3)=3mex(2,1,0)=3\operatorname{mex}(2,1,0)=3333 \ge 3
    • min(4,3,2)=2\min(4,3,2)=2mex(1,0)=2\operatorname{mex}(1,0)=2222 \ge 2
    • min(4,3,2,1)=1\min(4,3,2,1)=1mex(0)=1\operatorname{mex}(0)=1111 \ge 1
  • 第二个测试用例:原序列 [4,3,3,2,1,0][4,3,3,2,1,0] 不是魔法的,因为 min(4,3)=3\min(4,3)=3mex(3,2,1,0)=4\operatorname{mex}(3,2,1,0)=43<43 < 4。但是它的子序列 [4,3,2,1,0][4,3,2,1,0] 是魔法的,所以答案是 55