时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述

七夕节到了。
有

位同学站成一排,
月色哥哥给每位同学都确定了一个特征值,第

位同学有一个特征值

,这里我们认为如果某两位同学的特征值相同,那么这两位同学便能够被顺利牵线,走到一起。
现在,
氧气少年要确定一个区间
![[l,r]](https://www.nowcoder.com/equation?tex=%5Bl%2Cr%5D)
,满足:
-
对于编号位于该区间中的任意一位同学,都有恰好
位同学的特征值与 TA 的相同。
如:
![a=[1,1,2,3,2,3,1]](https://www.nowcoder.com/equation?tex=a%3D%5B1%2C1%2C2%2C3%2C2%2C3%2C1%5D)
,区间
![[a_1,a_2],[a_3\dots a_6],[a_1\dots a_6]](https://www.nowcoder.com/equation?tex=%5Ba_1%2Ca_2%5D%2C%5Ba_3%5Cdots%20a_6%5D%2C%5Ba_1%5Cdots%20a_6%5D)
等均符合条件。而
![[a_1\dots a_3]](https://www.nowcoder.com/equation?tex=%5Ba_1%5Cdots%20a_3%5D)
不符合条件,因为对于区间中第

位同学而言,没有人的特征值与 TA 的相同;
![[a_1\dots a_7]](https://www.nowcoder.com/equation?tex=%5Ba_1%5Cdots%20a_7%5D)
不符合条件,因为不管是对于区间中第

位还是第

位还是第

位同学而言,都有

位同学的特征值与 TA 的相同。
请求出
氧气少年可以选择多少种区间。
输入描述:
第一行包含一个整数
,表示测试用例的组数。
对于每组测试用例:
第一行包含一个整数
,表示序列的长度。
第二行包含
个整数
,表示该序列。
保证对于所有的测试用例,
的总和不超过
。
输出描述:
对于每组测试用例:
仅输出一行,包含一个整数,表示答案。
示例1
输入
复制
4
3
1 2 2
3
1 2 3
6
1 1 4 5 1 4
6
1 2 2 1 1 1