#include <bits/stdc++.h>
using namespace std ;
int main()
{
int testcases ;
cin >> testcases ;
while(testcases--) {
int n ;
cin >> n ;
int a[n] , maxi = 0 ;
map < int , int > mp ;
for(int i = 0 ; i < n ; ++i) {
cin >> a[i] ;
mp[a[i]]++ ;
}
for(auto x:mp) {
maxi = max(maxi , x.second) ;
}
// int p = mp.size() ;
if((maxi - (mp.size() - 1)) >= 2) {
cout << mp.size() << "\n" ;
}
else if((maxi - mp.size()) >= 0) {
cout << mp.size() - 1 << "\n" ;
}
else {
cout << maxi << "\n" ;
}
}
return 0 ;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkIDsKCmludCBtYWluKCkgCnsKICAgIGludCB0ZXN0Y2FzZXMgOwogICAgCiAgICBjaW4gPj4gdGVzdGNhc2VzIDsKICAgIAogICAgd2hpbGUodGVzdGNhc2VzLS0pIHsKICAgICAgICAKICAgICAgICBpbnQgbiA7CiAgICAgICAgCiAgICAgICAgY2luID4+IG4gOwogICAgICAgIAogICAgICAgIGludCBhW25dICwgbWF4aSA9IDAgOwogICAgICAgIAogICAgICAgIG1hcCA8IGludCAsIGludCA+IG1wIDsKICAgICAgICAKICAgICAgICBmb3IoaW50IGkgPSAwIDsgaSA8IG4gOyArK2kpIHsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNpbiA+PiBhW2ldIDsKICAgICAgICAgICAgbXBbYVtpXV0rKyA7CiAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICBmb3IoYXV0byB4Om1wKSB7CiAgICAgICAgICAgIG1heGkgPSBtYXgobWF4aSAsIHguc2Vjb25kKSA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIGludCBwID0gbXAuc2l6ZSgpIDsgCiAgICAgICAgCiAgICAgICAgaWYoKG1heGkgLSAobXAuc2l6ZSgpIC0gMSkpID49IDIpIHsKICAgICAgICAgICAgY291dCA8PCBtcC5zaXplKCkgPDwgIlxuIiA7IAogICAgICAgIH0KICAgICAgICBlbHNlIGlmKChtYXhpIC0gbXAuc2l6ZSgpKSAgPj0gMCkgewogICAgICAgICAgICBjb3V0IDw8IG1wLnNpemUoKSAtIDEgPDwgIlxuIiA7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBjb3V0IDw8IG1heGkgPDwgIlxuIiA7IAogICAgICAgIH0KICAgICAgICAKICAgIH0KICAgIHJldHVybiAwIDsKfQ==