#include<cstdio>#define p 0.000000001#define M 10008double a[M][3];double max(double x,double y){ if(x>y) return x;return y;}double f(double x,int n){ double tmax=-100000000000.0; for(int i=0;i<n;i++){ double t1=a[i][0]*x*x+a[i][1]*x+a[i][2]; tmax=max(tmax,t1); } return tmax;}double my_find(int n){ double l=0.0; double r=1000.0000; while(r>=l+p){ double mid1=(r-l)/3+l; double mid2=r-(r-l)/3; if(f(mid1,n)>f(mid2,n)){ l=mid1+p; } else r=mid2-p; } return f(l,n);}int main(){ int cas; while(~scanf("%d",&cas)){ while(cas--){ int n;scanf("%d",&n); for(int i=0;i<n;i++) scanf("%lf%lf%lf",&a[i][0],&a[i][1],&a[i][2]); double ans=my_find(n); printf("%.4lfn",ans); } } return 0;}


