#include<bits/stdc++.h>
using namespace std;
struct point{
long long x,y;
}p[105];
double check(int a,int b,int c)
{
double k1=(abs(p[a].y-p[b].y))*1.0/(abs(p[a].x-p[b].x));
double b1=(p[a].y-p[a].x*k1);
double k2=(abs(p[c].y-p[b].y))*1.0/(abs(p[c].x-p[b].x));
double b2=(p[c].y-p[c].x*k2);
if(k1==k2&&b1==b2)
return 1;
else return 0;
}
double jl(int a,int b)
{
return sqrt((p[a].x-p[b].x)*(p[a].x-p[b].x)+(p[a].y-p[b].y)*(p[a].y-p[b].y));
}
double mj(int a,int b,int c)
{
double A,B,C;
A=jl(b,c);
B=jl(a,c);
C=jl(a,b);
double bzc;
bzc=(A+B+C)*1.0/2;
return sqrt(bzc*(bzc-A)*(bzc-B)*(bzc-C));
}
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
int T;
cin>>T;
while (T--)
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>p[i].x>>p[i].y;
double ans=-1;
for (int i=1;i<=n;i++)
{
for (int j=i+1;j<=n;j++)
{
for (int k=j+1;k<=n;k++)
{
if(check(i,j,k)==0)
{
double mianji=mj(i,j,k);
if(ans==-1)
ans=mianji;
else ans=min(ans,mianji);
}
}
}
}
if(ans==-1)
cout<<-1<<endl;
else printf("%.10lf\n",ans);
}
return 0;
}