//#include #include //------------------------------------------------------------ int tcase; int icase; int n; int i,j,k; int fa,fb; int a[1000]; int b[1000]; int far[1000]; int ans; int block; //------------------------------------------------------------ int getf(int d) { return far[d]==d ? d : far[d]=getf(far[d]); } //------------------------------------------------------------ int main( ) { for (scanf("%d",&tcase); ++icase<=tcase; ) { //--0 init ans=0; scanf("%d",&n); for (i=1; i<=n; i++) far[i]=i; block=n; //--1 read for (i=1; i<=n+1; i++) scanf("%d%d",&a[i],&b[i]); //--2 count for (i=1; i<=n+1; i++) for (j=i; j<=n+1; j++) { //=0 init block=n; for (k=1; k<=n ; k++) far[k]=k; //=1 check for (k=1; k<=n+1; k++) if (k!=i&&k!=j) { fa=getf(a[k]); fb=getf(b[k]); if (fa!=fb) { far[fa]=fb; block--; } } //=2 count if (block==1) ans++; } //--3 print printf("%d\n",ans); } }