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.Scanner;

public class Main {
	private Scanner sc;
	
	public static void main(String[] args) {
		new Main();
	}
	
	public Main() {
		sc = new Scanner(System.in);

		int lim = Integer.parseInt(sc.next());
		for (int i = 0; i < lim; i++) {
			double[] point = new double[6];
			for (int j = 0; j < 6; j++) {
				point[j] = Double.parseDouble(sc.next());
			}
			
			double[] m = new double[4];
			m[0] = (point[0] + point[2]) / 2;
			m[1] = (point[1] + point[3]) / 2;
			m[2] = (point[2] + point[4]) / 2;
			m[3] = (point[3] + point[5]) / 2;

			double a = m[1] - point[1];
			double b = m[0] - point[0];
			double c = m[3] - point[3];
			double d = m[2] - point[2];

			double p = a * m[0] + b * m[1];
			double q = c * m[2] + d * m[3];
			
			double det = a * d - b * c;

			double x = (p * d + q * (-b)) / det;
			double y = (p * (-c) + q * a) / det;

			if (a == 0.0) x = m[0];
			if (b == 0.0) y = m[1];
			if (c == 0.0) x = m[2];
			if (d == 0.0) y = m[3];
			
			double r = Math.sqrt((x - point[0]) * (x - point[0]) + (y - point[1] * (y - point[1])));
			
			System.out.printf("%.3f %.3f %.3f\n", x, y, r);
		}
	}
}