#include int x[250][201],y[250][201]; int checkpt(int p,int xx,int yy) { int nv,r,n,m; nv=x[p][0]; r=0; for (n=1;n<=nv;n++) { m=(n!=(nv))?(n+1):1; if ((y[p][n]==y[p][m]) && (((x[p][n]<=xx) && (x[p][m]>xx)) || ((x[p][m]<=xx) && (x[p][n]>xx))) && (y[p][n]<=yy)) {r=1-r;} } return(r); } int area(int p) { int a,nv,n,m; a=0; nv=x[p][0]; for (n=1;n<=nv;n++) { m=(n!=(nv))?(n+1):1; a+=(x[p][n]*(y[p][m]-y[p][n])-(x[p][m]-x[p][n])*y[p][n]); } a/=2; if (a>0) {return(a);} else {return(-a);} } int main() { int p,a,n,m,cnt,ptr,z,zz,xx,yy,num,np,nv; scanf("%d",&num); for (n=1;n<=num;n++) { scanf("%d",&np); ptr=0; for (m=1;m<=np;m++) { scanf("%d",&nv); x[ptr][0]=nv; for (p=1;p<=nv;p++) { scanf("%d %d %d",&xx,&yy,&zz); if (p==1) {z=zz;} else { if (z!=zz) {z=-1;}} x[ptr][p]=xx;y[ptr][p]=yy; } if (z!=-1) { y[ptr][0]=z; ptr++;} } a=0; for (m=0;m