#include <iostream>
#include <iomanip>
#include <vector>
#include <cmath>
using namespace std;
typedef vector <double> vd;
typedef vector <　vd　> vvd;

vvd inverse(vvd &x){
	vvd tmp(2, vd(2));
	if (x.size()!=2) return tmp;
	double a, b, c, d, e;
	a = x[0][0];
	b = x[0][1];
    c = x[1][0];
	d = x[1][1];
    e = 1.0 / (a*d-b*c);
	tmp[0][0] = d * e;
	tmp[0][1] = -b * e;
	tmp[1][0] = -c * e;
	tmp[1][1] = a * e;
	return tmp;
}

vvd Mmult(vvd &A, vvd &B){
    int n1=A.size();
    int n2=A[0].size();
	int n3=B[0].size();
	vvd C(n1, vd(n3));
	for (int i=0; i<n1; i++)
		for (int j=0; j<n3; j++)
			C[i][j] = 0;

    for (int i=0; i<n1; i++)
		for (int j=0; j<n2; j++)
			for (int k=0; k<n3; k++)
				C[i][k] += A[i][j] * B[j][k];
    return C;
}

int main(void){
    int n;
	double x1, y1, x2, y2, x3, y3, dx1, dy1, dx2, dy2;
	vvd A(2, vd(2)), B(2, vd(1));
	cin>>n;
	for (int i=1; i<n+1; i++){
		cin>>x1>>y1>>x2>>y2>>x3>>y3;
		dx1 = x2 - x1;
		dy1 = y2 - y1;
		dx2 = x3 - x1;
		dy2 = y3 - y1;
		A[0][0] = -dx1;
		A[0][1] = dy1;
		A[1][0] = -dx2;
		A[1][1] = dy2;
		B[0][0] = -dx1*(x1+x2)/2 + dy1*(y1+y2)/2;
		B[1][0] = -dx2*(x1+x3)/2 + dy2*(y1+y3)/2;
		B = Mmult(inverse(A), B);

		double r = pow(pow(B[0][0]-x1,2)+pow(B[1][0]-y1,2), 0.5);
	    cout<<fixed<<setprecision(3);
		cout<<B[0][0]<<" "<<B[1][0]<<" "<<r<<endl;
	}
    return 0;
}