#CF2101D. Mani 与子数组段

Mani 与子数组段

D. Mani 与子数组段

每个测试的时间限制: 33
内存限制: 256256 兆字节


题目描述

一个长度为 b|b| 的数组 bb 被称为 cute(可爱),如果它的最长递增子序列(LIS)长度与最长递减子序列(LDS)长度之和恰好比数组长度多 11

更正式地说,数组 bb 是可爱的,当且仅当: [ \text{LIS}(b) + \text{LDS}(b) = |b| + 1 ]


补充定义

  • 子序列:一个序列 xx 是序列 yy 的子序列,如果 xx 可以通过从 yy 中删除若干元素(可能为零个或全部)得到,删除位置任意。
  • 最长递增子序列(LIS):数组中最长的子序列,其元素严格递增
  • 最长递减子序列(LDS):数组中最长的子序列,其元素严格递减

输入

每个测试包含多个测试用例。
第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例描述如下:

  • 第一行包含一个整数 nn1n2×1051 \le n \le 2 \times 10^5),表示排列 aa 的长度。
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ain1 \le a_i \le n),表示排列 aa 的元素。

保证所有测试用例的 nn 之和不超过 2×1052 \times 10^5


输出

对于每个测试用例,输出排列 aacute 的非空子数组的数量。


示例

输入:

5
3
3 1 2
5
2 3 4 5 1
4
3 4 1 2
7
1 2 3 4 5 6 7
10
7 8 2 4 5 10 1 3 6 9

输出:

6
15
9
28
36

样例解释

第一个测试用例: 所有 66 个非空子数组都是可爱的:

  • [3][3]:$\text{LIS}([3]) + \text{LDS}([3]) = 1 + 1 = 2 = |[3]| + 1$。
  • [1][1]:也是 1+1=21 + 1 = 2
  • [2][2]1+1=21 + 1 = 2
  • [3,1][3,1]LIS=1\text{LIS} = 1LDS=2\text{LDS} = 2,和为 3=2+13 = 2 + 1
  • [1,2][1,2]LIS=2\text{LIS} = 2LDS=1\text{LDS} = 1,和为 3=2+13 = 2 + 1
  • [3,1,2][3,1,2]LIS=2\text{LIS} = 2LDS=2\text{LDS} = 2,和为 4=3+14 = 3 + 1

第二个测试用例: 可爱的子数组包括 [2,3,4,5,1][2,3,4,5,1],因为 LIS=4\text{LIS}=4LDS=2\text{LDS}=24+2=6=5+14+2=6=5+1