#include #define debug(x) cerr<<"\tDEBUG: "<<#x<<" = "<<(x)<>=1; p=p*p%P; } return res; } int n,s; char str[maxn]; vectorT[maxn]; bool vis[maxn]; int cnt[maxn]; int id,Q[maxn]; void dfs(int f,int x){ Q[++id]=x; vis[x]=1; for(int i=0;i>QuQ; while(QuQ--){ scanf("%d%d",&n,&s); for(int i=1;i<=n;i++){ T[i].clear(); // T[i].push_back(i); vis[i]=0; cnt[i]=0; } for(int i=2;i<=n;i++){ scanf("%s",str+1); for(int j=1;j=3)flag=0; tmp[ID]=x; } } // debug(ans); // debug(sum); // debug(id); // debug(ID); if(ID!=0&&ID!=2)flag=0; else { if(ID==0){ if(isok)ans+=sum/2; else ans+=sum/2+2; }else if(ID==2){ // debug(ID); // puts(""); if(isok){ if(tmp[1]==s||tmp[2]==s) ans+=sum/2; else flag=0; }else flag=0; } } } } if(flag)cout<