#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vi;
typedef pair<ll, ll> pi;
#define F first
#define S second
#define PB push_back
#define MP make_pair
#define rep(i,a,b) for(ll i=a;i<=b;i++)
#define back(i,a,b) for(ll i =a;i>=b;i--)
ll pow(ll a, ll b) { ll g = 1; rep(i, 1, b) g *= a; return g;}
#define all(x) x.begin(),x.end()
bool comp(ll a, ll b) {
  //for condition that has to true we have to return 1 and for condition that has to followed
  //false we have to   return 0;
  if (a > b)
    return 1;
  return 0;
}
void print(vi v) {
  for (auto f : v)
    cout << f << " ";
}

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ll t;
  cin >> t;
  while (t--) {
    ll n ;
    cin >> n;
    vi v(n, 0);
    multiset<ll> m;
    map<ll, ll> m1;
    rep(i, 0, n - 1) {
      cin >> v[i];
      m1[v[i]]++;
    }
    for (auto r = m1.begin(); r != m1.end(); r++) {
      m.insert(r->second);
    }
    ll ans = 0;
    ll k = m.size();
    while (k > 1) {
      auto f = m.end();
      f--;
      ll g = *f;
      f--;
      ll  d = *f;
      m.erase(m.find(g));
      m.erase(m.find(d));
      k -= 2;
      g--;
      d--;
      if (g != 0) {
        k++;
        m.insert(g);
      }
      if (d != 0) {
        k++;
        m.insert(d);
      }
      //ans += g - d;
      //cout << m.size();

    }
    for (auto r = m.begin(); r != m.end(); r++) {
      ans += (*r);

    }
    cout << ans << "\n";
  }

}