#CF2001A. 使所有元素相等

使所有元素相等

A. 使所有元素相等

每测试点时间限制:1 秒
内存限制:256 兆字节

你有一个循环数组 a1,a2,,ana_1, a_2, \dots, a_n

你可以对数组 aa 执行至多 n1n-1 次如下操作:

mm 为数组 aa 当前的长度,你可以选择任意两个相邻的元素,且前一个元素不大于后一个元素(特别地,ama_ma1a_1 相邻,且 ama_m 是前一个),然后删除其中一个元素。
换句话说,选择一个整数 ii1im1 \le i \le m),满足 aia(imodm)+1a_i \le a_{(i \bmod m) + 1},然后删除 aia_ia(imodm)+1a_{(i \bmod m) + 1} 中的一个。

你的目标是让 aa 中的所有元素都相等。
求达成目标所需的最少操作次数。


输入
每个测试点包含多个测试用例。第一行包含整数 tt1t5001 \le t \le 500),表示测试用例的数量。
接下来每个测试用例的描述格式如下:
第一行包含一个整数 nn1n1001 \le n \le 100),表示数组 aa 的长度。
第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ain1 \le a_i \le n),表示数组 aa 的元素。


输出
对于每个测试用例,输出一行一个整数:使所有元素相等所需的最少操作次数。


示例

输入:

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

输出:

0
2
1
4
4
6
3


在第一个测试用例中,aa 只有一个元素,无法进行操作。

在第二个测试用例中,可以通过以下操作使所有元素相等:

  • 选择 i=2i=2,删除 a3a_3,得到 [1,2][1,2]
  • 选择 i=1i=1,删除 a1a_1,得到 [2][2]
    可以证明无法用少于 22 次操作达成目标,因此答案是 22