#include using namespace std; int n, cnt[15], a[2048], dp[15][2048]; void solve() { scanf("%d", &n); memset(cnt, 0, sizeof cnt); memset(a, 0, sizeof a); memset(dp, 0, sizeof dp); for (int i = 1; i <= n; i++) { char s[10]; scanf(" %s", s); cnt[s[4] - '0']++; } for (int i = 0; i < (1 << 10); i++) { for (int j = 0; j < 10; j++) if (((i >> j) & 1) == 0) a[i] += cnt[j]; } for (int i = 1; i <= 5; i++) { for (int j = 0; j < (1 << 10); j++) { dp[i][j] = n * 10; for (int k = 0; k < (1 << 10); k++) { if ((j & k) != k) continue; dp[i][j] = min(dp[i][j], max(dp[i - 1][k], a[j & (~k)])); } } } printf("%d\n", dp[5][1023]); } int main() { int T; cin >> T; while (T--) { solve(); } return 0; }