#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<vector>
#include<queue>
#include<cmath>
#include<memory.h>
using namespace std;
#define eps 1e-9
int n;
struct Node
{
double x,y,z;
}node[10002];
void clear()
{
memset(node,0,sizeof(node));
}
double detal(double d)
{
double h=0.0;
for(int i=0;i<n;i++)
{
double temp=d*node[i].z/(d-sqrt(node[i].x*node[i].x+node[i].y*node[i].y));
if(h<temp)
h=temp;
}
return (h*d*d);
}
int main()
{
int t;
cin>>t;
while(t--)
{
cin>>n;
for(int i=0;i<n;i++)
scanf("%lf %lf %lf",&node[i].x,&node[i].y,&node[i].z);
double r=10000.0,l=0;
double mid,mmid,s1,s2;
while(r-l >= eps)
{
mid=(l+r)/2;
mmid=(mid+r)/2;
s1=detal(mid);
s2=detal(mmid);
if(s1<s2)
r=mmid;
else
l=mid;
}
double h=0.0;
for(int i=0;i<n;i++)
{
double temp=r*node[i].z/(r-sqrt(node[i].x*node[i].x+node[i].y*node[i].y));
if(temp>h)
h=temp;
}
printf("%.3lf %.3lf\n",h,r);
}
}