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: Wrong Answer)

import java.util.*;
import java.io.*;
class Main{
    public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	double x1,y1,x2,y2,x3,y3,D,z1,z2;
	int t = Integer.valueOf(sc.nextInt());
	for(int i=0; i<t; i++){
	    x1 = sc.nextDouble();
	    y1 = sc.nextDouble();
	    x2 = sc.nextDouble()-x1;
	    y2 = sc.nextDouble()-y1;
	    x3 = sc.nextDouble()-x1;
	    y3 = sc.nextDouble()-y1;
	    D=2*(x2*y3-y2*x3);
	    z1 = (y3*(x2*x2+y2*y2)-y2*(x3*x3+y3*y3))/D;
	    z2 = (x2*(x3*x3+y3*y3)-x3*(x2*x2+y2*y2))/D;
	    System.out.printf("%1.3f %1.3f %1.3f\n", z1, z2,Math.sqrt((z1-x2)*(z1-x2)+(z2-x2)*(z2-x2)));
	}
    }
}