#include using namespace std; const int N=5+1e3; vector e[N]; bool vis[N]; char ss[N]; void dfs(int x){ if(vis[x]) return; vis[x]=1; for(auto y:e[x]) dfs(y); } void solve(){ int n,s,ans=0; scanf("%d%d",&n,&s); for(int i=1;i<=n;++i) vis[i]=0,e[i].clear(); for(int i=2;i<=n;++i){ scanf("%s",ss+1); for(int j=1;j2){ puts("-1"); return; }else if(odd_cnt==2){ if(e[s].size()&1); else{ puts("-1"); return; } } for(int x=1;x<=n;++x) if(!vis[x]&&e[x].size()>0){ dfs(x); ans+=2; } printf("%d\n",ans); } int main(){ int T; scanf("%d",&T); while(T--) solve(); return 0; }