#include using namespace std; typedef long long ll; #define ri register int int n,m,g[105][105],i,j,k,vis[105],p[105],q[105],t; char a[1005],b[1005]; bool dfs(int i) { int j; if(vis[i]) return false; vis[i]=1; for(j=1;j<=n;j++) if(g[i][j]) if(p[j]==0||dfs(p[j])) { p[j]=i; return true; } return false; } int main() { scanf("%d",&t); while(t--) { scanf("%d %d",&m,&n); for(i=1;i<=n;i++) for(j=1;j<=n;j++) g[i][j]=1; for(i=1;i<=m;i++) { scanf("%s\n%s\n",a+1,b+1); for(j=1;j<=n;j++) for(k=1;k<=n;k++) if(a[j]!=b[k]) g[j][k]=0; } memset(p,0,sizeof(p)); for(i=n;i>=1;i--) { memset(vis,0,sizeof(vis)); if(!dfs(i)) break; } if(i!=0) printf("-1\n"); else { for(i=1;i<=n;i++) q[p[i]]=i; for(i=1;i