#include<stdio.h>
#include<math.h>
struct point
{
double x,y;
};
//注意结构体的使用
int main()
{
double a,m,c,k,b,area,f;
struct point p[4];
int i,t;
scanf("%d",&t);
while(t--)
{
for(i=1;i<=3;i++)
scanf("%lf%lf",&p[i].x,&p[i].y);
k=(p[2].y-p[3].y)/(p[2].x-p[3].x);//直线方程为y=k*x+b;
b=p[2].y-k*p[2].x;
//拋物线的方程为y=a*x^2+m*x+c;
a=((p[2].x-p[3].x)*(p[1].y-p[2].y)-(p[1].x-p[2].x)*(p[2].y-p[3].y));
a/=((p[1].x*p[1].x-p[2].x*p[2].x)*(p[2].x-p[3].x)-(p[2].x*p[2].x-p[3].x*p[3].x)*(p[1].x-p[2].x));
m=(p[1].y-p[2].y)/(p[1].x-p[2].x)-a*(p[1].x+p[2].x);
c=p[1].y-a* p[1].x*p[1].x-m*p[1].x;
//通过积分求面积
area=a/3*pow(p[3].x,3.0)+(m-k)/2*pow(p[3].x,2.0)+(c-b)*p[3].x;
area-=(a/3*pow(p[2].x,3.0)+(m-k)/2*pow(p[2].x,2.0)+(c-b)*p[2].x);
printf("%.2lf\n",area);
}
return 0;
}