#include <bits/stdc++.h>
using namespace std;
int t,n;
struct two_pow_function
{
int a,b,c;
}f[1005];
double f_val(double x,int i)
{
return x*x*f[i].a+x*f[i].b+f[i].c;
}
double f_max(double x)
{
double fx_max=f_val(x,1);
for (int i=2;i<=n;i++)
{
fx_max=max(f_val(x,i),fx_max);
}
return fx_max;
}
int main()
{
cin>>t;
while(t--)
{
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>f[i].a>>f[i].b>>f[i].c;
}
double l=0,r=1000,tl,tr;
while (r-l>1e-11)
{
tl=l+(r-l)/3.0;
tr=r-(r-l)/3.0;
if (f_max(tl)>f_max(tr))
{
l=tl;
}
else
{
r=tr;
}
}
printf("%.4lf\n",l);
}
return 0;
}