/*
Author: EnderDeer
Online Judge: Luogu
*/
#include<bits/stdc++.h>
#define int long long
#define mem(x) memset(x,0,sizeof(x))
using namespace std;
int read(){
int s = 0,w = 1;
char ch = getchar();
while(ch < '0' || ch > '9'){if(ch == '-')w = -1;ch = getchar();}
while(ch >= '0' && ch <= '9')s = s * 10 + ch - '0',ch = getchar();
return s * w;
}
int t;
int n;
int a[1000010];
int b[1000010];
int c[1000010];
int q,p;
int s;
signed main(){
cin>>t;
while(t --){
mem(a);
mem(b);
mem(c);
q = 0;
p = 1;
s = 0;
n = read();
for(int i = 1;i <= n;i ++)a[i] = read();
sort(a + 1,a + n + 1);
for(int i = 2;i <= n;i ++){
if(a[i] != a[i - 1]){
q ++;
b[q] = p;
p = 1;
}
else p ++;
}
q ++;
b[q] = p;
sort(b + 1,b + q + 1);
n = q;
int ans = 2147483647;
for(int i = 1;i <= n;i ++)c[i] = c[i - 1] + b[i];
for(int i = 0;i <= n;i ++){
s = 0;
s += c[n];
if(i + 1 <= n){
s -= b[i + 1] * (n - (i + 1) + 1);
}
ans = min(ans,s);
}
printf("%lld\n",ans);
}
return 0;
}