Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Circumscribed Circle of A Triangle.

Write a program which prints the central coordinate $(p_x, p_y)$ and the radius $r$ of a circumscribed circle of a triangle which is constructed by three points $(x_1, y_1)$, $(x_2, y_2)$ and $(x_3, y_3)$ on the plane surface.

Input

Input consists of several datasets. In the first line, the number of datasets $n$ is given. Each dataset consists of:

$x_1$ $y_1$ $x_2$ $y_2$ $x_3$ $y_3$

in a line. All the input are real numbers.

Output

For each dataset, print $p_x$, $p_y$ and $r$ separated by a space in a line. Print the solution to three places of decimals. Round off the solution to three decimal places.

Constraints

$-100 \leq x_1, y_1, x_2, y_2, x_3, y_3 \leq 100$

$ n \leq 20$

Sample Input

1
0.0 0.0 2.0 0.0 2.0 2.0

Output for the Sample Input

1.000 1.000 1.414

Solution in JAVA (judge verdict: Accepted)

import java.util.Scanner;


public class Main {
	
	Scanner sc = new Scanner(System.in);
	
	void run() {
		
		int n = sc.nextInt();
		
		for (int i=0;i<n;i++) {
			double[] x = new double[3];
			double[] y = new double[3];
			
			for (int j=0;j<3;j++) {
				x[j] = sc.nextDouble();
				y[j] = sc.nextDouble();
			}
			
			double a1 = 2 * ( x[1] - x[0] );
			double b1 = 2 * ( y[1] - y[0] );
			double c1 = x[0] * x[0] - x[1] * x[1] + y[0] * y[0] - y[1] * y[1];
			double a2 = 2 * ( x[2] - x[0] );
			double b2 = 2 * ( y[2] - y[0] );
			double c2 = x[0] * x[0] - x[2] * x[2] + y[0] * y[0] - y[2] * y[2];
			
			double xp = (b1*c2-b2*c1)/(a1*b2-a2*b1);
			double yp = (c1*a2-c2*a1)/(a1*b2-a2*b1);
			double r = Math.sqrt( (xp-x[0])*(xp-x[0]) + (yp-y[0])*(yp-y[0]) );
			
			System.out.printf("%.3f %.3f %.3f\n",xp,yp,r);
			
			
		}
		
	}
	
	public static void main(String[] args) {
		new Main().run();
	}
}