#include <bits/stdc++.h>
using namespace std;
int main() {
  int q;
  cin >> q;
  while (q) {
    q--;
    int n;
    int result = 0;
    cin >> n;
    int bytes[2] = {0, 0};
    vector<int> even;
    vector<int> odd;
    for (int i = 0; i < n; i++) {
      string num;
      cin >> num;
      if (num.length() % 2 == 0) {
        even.push_back(num.length());
      } else {
        odd.push_back(num.length());
      }
      bytes[0] += count(num.begin(), num.end(), '0');
      bytes[1] += count(num.begin(), num.end(), '1');
    }
    sort(even.begin(), even.end());
    sort(odd.begin(), odd.end());
    for (auto el : even) {
      if (bytes[0] >= el) {
        result++;
        bytes[0] -= el;
      } else if (bytes[1] >= el) {
        result++;
        bytes[1] -= el;
      } else {
        if (bytes[0] + bytes[1] > el) {
          bytes[1] -= el - bytes[0];
          bytes[0] = 0;
          result++;
        } else {
          if (bytes[0] % 2 == 0 && bytes[1] % 2 == 0) result++;
        }
      }
    }
    for (auto el : odd) {
      if (bytes[0] >= el) {
        result++;
        bytes[0] -= el;
      } else if (bytes[1] >= el) {
        result++;
        bytes[1] -= el;
      } else {
        if (bytes[0] + bytes[1] > el) {
          bytes[1] -= el - bytes[0];
          bytes[0] = 0;
          result++;
        } else {
          if (bytes[0] % 2 == 0 || bytes[1] % 2 == 0) result++;
        }
      }
    }
    cout << result << endl;
  }
  return 0;
}
