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 C# (judge verdict: Wrong Answer)

using System;

class Program{
	static void Main(){
		int i = int.Parse(Console.ReadLine());
		while(0<i--){
			double[] n = Array.ConvertAll(Console.ReadLine().Split(' '), double.Parse);
			double a, b, c, d;
			double x, y, r;
			a = n[0] * n[0] + n[1] * n[1];
			b = n[2] * n[2] + n[3] * n[3];
			c = n[4] * n[4] + n[5] * n[5];
			d = 2*( n[0] * (n[3] - n[5])
				  + n[2] * (n[5] - n[1])
				  + n[4] * (n[1] - n[3]));

			x = a * (n[3] - n[5])
			  + b * (n[5] - n[1])
			  + c * (n[1] - n[3]);

			y = a * (n[4] - n[2])
			  + b * (n[0] - n[4])
			  + c * (n[2] - n[0]);
		
			r = Math.Sqrt((n[0] - x) * (n[0] - x) /d/d+ (n[1] - y) * (n[1] - y)/d/d);
			
			Console.WriteLine("{0:f3} {1:f3} {2:f3}", x/d, y/d, r);
		}
	}
}