#CF1931C. C. 使数组全部相等

C. 使数组全部相等

C. 使数组全部相等

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

你有一个由 nn 个整数组成的数组 aa

最多可以执行一次如下操作:选择三个整数 i,j,xi, j, x(满足 1ijn1 \le i \le j \le n),并将数组中从下标 iijj 的所有元素的值都赋值为 xx。该操作的成本取决于所选区间,等于 (ji+1)(j - i + 1) 个 burles。

例如,数组为 [1,2,3,4,5,1][1,2,3,4,5,1]。如果选择 i=2,j=4,x=8i = 2, j = 4, x = 8,操作后数组变为 [1,8,8,8,5,1][1,8,8,8,5,1]

要使数组的所有元素相等,最少需要花费多少个 burles


输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5),表示数组的大小。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ain1 \le a_i \le n),表示数组元素。

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


输出格式

对于每个测试用例,输出一个整数——使数组所有元素相等所需的最小 burles 数量。可以证明,总能通过这样的操作实现。


示例

输入

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

输出

4
0
2
0
1
2
6
7