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 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		for(int i=0; i<n; i++){
		//1をa
		double x1 = scan.nextDouble();
		double y1 = scan.nextDouble();
		//2をb
		double x2 = scan.nextDouble();
		double y2 = scan.nextDouble();
		//3をc
		double x3 = scan.nextDouble();
		double y3 = scan.nextDouble();

		double a1 = 2*(x2 - x1);
		double b1 = 2*(y2 - y1);
		double c1 = Math.pow(x1, 2) - Math.pow(x2, 2) + Math.pow(y1, 2) - Math.pow(y2, 2);

		double a2 = 2*(x3 - x1);
		double b2 = 2*(y3 - y1);
		double c2 = Math.pow(x1, 2) - Math.pow(x3, 2) + Math.pow(y1, 2) - Math.pow(y3, 2);

		double xp = (b1*c2 - b2*c1)/(a1*b2 - a2*b1);
		double yp = (c1*a2 - c2*a1)/(a1*b2 - a2*b1);

		System.out.printf("%.3f %.3f %.3f\n",xp,yp,distance(x1, y1, xp, yp));


		//三角形の面積
		}
	}

	static double distance(double ax, double ay, double bx, double by){
		return Math.sqrt(Math.pow(bx-ax, 2) + Math.pow(by-ay, 2));
	}

}