#include #include #include #include #include #include #include #include const int MAX=1001; const double PI=3.1415926; int n; int top; using namespace std; typedef struct Node { double x; double y; }; Node s[MAX],stack[MAX]; double Distance(Node a,Node b) { return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); } double Mul(Node p2, Node p1, Node p0) { return (p2.x - p0.x) * (p1.y - p0.y) - (p1.x - p0.x) * (p2.y - p0.y); } bool cmp(Node p2,Node p1) { double m; m=Mul(p2,p1,s[0]); if(m>0||(!m&&Distance(s[0],p2)=1&&Mul(s[i],stack[top],stack[top-1])>=0) top--; top++; stack[top]=s[i]; } } int main() { int i,p=0,t,l; double sum; while(cin>>t) { while(t--) { cin>>n>>l; cout.setf(ios::fixed); cout.precision(0); for(i=0;i>s[i].x>>s[i].y; convex_hull(); sum=0; for(i=0;i