编程题
### 问题描述
小然是蓝桥镇上的一位勇者。在一次冒险中,他找到了一个包含 $N$ 个神秘魔法石的宝箱。每个魔法石上都刻着一个正整数。然而,小然很快发现,这些魔法石的神秘力量只有在每个魔法石上的数字都互不相同的情况下才会被激活。
小然可以进行以下两种操作来改变魔法石的排列:
- 从宝箱的开口(数组的开始)取出一个魔法石,然后在宝箱的底部(数组的末尾)放入一个新的魔法石(上面刻有任何他选择的正整数)。
- 从宝箱的底部(数组的末尾)取出一个魔法石,然后在宝箱的开口(数组的开始)放入一个新的魔法石(上面刻有任何他选择的正整数)。
请你帮助小然计算出,使得所有魔法石上的数字互不相同时,最少需要进行多少次操作。
### 输入格式
第一行输入一个整数 $T$,表示测试用例的数量。
每个测试用例首先包含一个整数 $N$ —— 宝箱中魔法石的数量。
接下来的一行,包含 $N$ 个空格分隔的整数 $A_1, A_2, ..., A_N$,表示从宝箱开口到底部的每个魔法石上刻着的数字。
### 输出格式
对于每个测试用例,输出一个整数,表示最少需要进行的操作次数,以使得所有魔法石上的数字互不相同。
### 输入样例
```text
3
8
1 3 3 5 1 2 4 1
4
1 2 3 4
5
10 20 10 20 30
```
### 输出样例
```plaintext
4
0
2
```
### 说明
测试用例 1:一种可能的操作序列是:
- 移除开口的魔法石(1)并在底部添加新的魔法石(6):$[6, 3, 3, 5, 1, 2, 4, 1]$。
- 移除底部的魔法石(6)并在开口添加新的魔法石(7):$[1, 3, 3, 5, 1, 2, 4, 7]$。
- 移除开口的魔法石(1)并在底部添加新的魔法石(8):$[3, 3, 5, 1, 2, 4, 7, 8]$。
- 移除开口的魔法石(3)并在底部添加新的魔法石(9):$[3, 5, 1, 2, 4, 7, 8, 9]$。
测试用例 2:无需操作,因为所有魔法石上的数字已经是互不相同的。
### 评测数据范围
$1≤T≤10^3$。
$1≤N≤10^5$。
$1≤A_i≤10^9$。
测试用例中 $N$ 的总和不超过 $2⋅10^5$。