#include <bits/stdc++.h>
using namespace std;
int q;
int n;
vector<int> a;
void xuly() {
  map<int, long long> d1, d2;
  vector<int> t;
  long long sum = 0;
  for (int i = 0; i < a.size(); i++) {
    if (d1[a[i]] == 0) {
      t.push_back(a[i]);
    }
    d1[a[i]]++;
  }
  vector<int> q;
  for (int i = 0; i < t.size(); i++) {
    q.push_back(d1[t[i]]);
  }
  for (int i = 0; i < q.size(); i++) {
    int u = q[i];
    while (d2[u] != 0) {
      u--;
      if (u < 0) {
        u = 0;
        break;
      }
    }
    d2[u] = 1;
    sum += u;
  }
  cout << sum << "\n";
}
int main() {
  cin >> q;
  while (q--) {
    a.clear();
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
      int x;
      scanf("%d", &x);
      a.push_back(x);
    }
    xuly();
  }
  return 0;
}
