#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define pi acos(-1) #define MAX INT_MAX #define MIN INT_MIN #define eps 1e-6 #define N 55 struct point{ int x,y; }p[N]; int n; int ans[10010][3]; int tot; void gao(int y){ int i,j; double m[5]; int cnt=0; for(i=1;i<=n;i++){ if(p[i].y==y && p[i-1].y==y)return ; if(p[i].y==y)m[cnt++]=(double)p[i].x; if(p[i-1].y==y)m[cnt++]=(double)p[i-1].x; if((p[i-1].yy) || (p[i-1].y>y && p[i].yt)return ; ans[tot][0]=y; ans[tot][1]=s; ans[tot][2]=t; tot++; } int main(){ int t; scanf("%d",&t); while(t--){ int ca; scanf("%d%d",&ca,&n); int i,j; int minm=MAX; int maxm=MIN; for(i=1;i<=n;i++){ scanf("%d%d",&p[i].x,&p[i].y); minm=min(minm,p[i].y); maxm=max(maxm,p[i].y); } p[0].x=p[n].x; p[0].y=p[n].y; tot=0; for(i=maxm-1;i>=minm+1;i--){ gao(i); } printf("%d %d\n",ca,tot); for(i=0;i