#include using namespace std; const int MAXN=20000+5; const int MOD=(1<<10)-1; int n,T; int c[10]; char S[100]; int dp[6][MOD+5],all[MOD+5]; bool check(int p) { p=n-p;//被限制的至少为p memset(dp,0,sizeof(dp)); dp[0][MOD]=1; for(int i=0;i<5;i++) for(int s=0;s<=MOD;s++) if(dp[i][s]) { for(int t=s;;t=(t-1)&s) { if(all[t]>=p) dp[i+1][s-t]=1; if(!t) break; } } for(int s=0;s<=MOD;s++) if(dp[5][s]) return 1; return 0; } void solve() { scanf("%d",&n); for(int i=0;i<=9;i++) c[i]=0; for(int s=0;s<=MOD;s++) all[s]=0; for(int i=1;i<=n;i++) { scanf("%s",S); c[S[4]-'0']++; } for(int i=0;i<=9;i++) all[1<>1; if(check(mid)) res=mid,R=mid-1; else L=mid+1; } printf("%d\n",res); } int main() { scanf("%d",&T); while(T--) solve(); return 0; }