#include #include #include int T,cnt; int f[1001],d[1001],c[1001]; int find(int x){ return f[x]?f[x]=find(f[x]):x; } void merge(int a,int b){ a=find(a),b=find(b); if(a!=b)f[a]=b; } int n,s,g[1001]; bool vis[1001]; bool con[1001][1001]; char str[1001]; int main(){ scanf("%d",&T); for(int fd=1;fd<=T;++fd){ scanf("%d%d",&n,&s); cnt=0; memset(vis,0,sizeof vis); memset(c,0,sizeof c); memset(g,0,sizeof g); vis[s]=1; memset(f,0,sizeof f); memset(d,0,sizeof d); for(int i=2;i<=n;++i){ scanf("%s",str+1); for(int j=1;j