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;
using System.Collections.Generic;
using System.Linq;

class CircumscribedCircleOfATriangle
{
    static void Main()
    {
        var q =
            from n in Enumerable.Repeat( 0, int.Parse( Console.ReadLine() ) )
            let v = Console.ReadLine()
                .Split( ' ' )
                .Select( double.Parse )
                .ToArray()

            let dx12 = v[4] - v[0]
            let dy12 = v[5] - v[1]

            let hx = dx12 / 2
            let hy = dy12 / 2
            let gx = ( v[2] - v[0] ) / 2

            let k =  ( hx - gx ) / ( hx - dy12 - gx )
            let dxp = hx - k * dy12
            let dyp = hy + k * dx12
            let r = Math.Sqrt( dxp * dxp + dyp * dyp )

            select string.Format( "{0:0.000} {1:0.000} {2:0.000}\n", v[0] + dxp, v[1] + dyp, r );
        Console.Write( new string( q.SelectMany( _ => _ ).ToArray() ) );
    }
}