#include<stdio.h> #define mi 1e-9 #define N 11000 struct node{ double x,y,z; }a[N]; int n; double Max(double a,double b) { return a>b?a:b; } double ff(double h) { double ma=-111111111; int i; for(i=1;i<=n;i++) ma=Max(ma,a[i].x*h*h+a[i].y*h+a[i].z); return ma; } double midd() { double start,end,mid,midd; start=0.0; end=1000.0; while(end-start>mi) { mid=(start+end)/2; midd=(mid+end)/2; if(ff(mid)>ff(midd)) start=mid; else end=midd; } return ff(end); } int main() { int t,i; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=1;i<=n;i++) scanf("%lf%lf%lf",&a[i].x,&a[i].y,&a[i].z); printf("%.4f ",midd()); } return 0; }