#include using namespace std; #define MAXN 1005 #define P 1000000007 char s[55],t[55]; bool g[55][55],b[55]; int T,n,m,i,j,l[55],ans[55]; bool work(int now) { for(int i=1;i<=n;i++)if(!b[i]&&!g[now][i]) { b[i]=1; if(!l[i]||work(l[i])) { l[i]=now; return 1; } } return 0; } int main() { scanf("%d",&T); while(T--) { scanf("%d%d",&m,&n); memset(g,0,sizeof(g)); while(m--) { scanf("%s%s",s+1,t+1); for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(s[i]!=t[j])g[i][j]=1; } memset(l,0,sizeof(l)); for(i=n,j=0;i;i--) { memset(b,0,sizeof(b)); j+=work(i); } if(j