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.*;class Main{public static void main(String[]g){Scanner S=new Scanner(System.in);double o=1e4,a,b,c,n[]=new double[6],l[];for(int i,m=S.nextInt();m-->0;System.out.printf("%.3f %.3f %.3f\n",n[3]/o,n[4]/o,n[5]/o)){l=n.clone();for(i=0;i<6;)n[i++]=S.nextDouble();for(i=0;(i+=2)<5;l[i+1]=2*(n[i+1]-n[1]))l[i]=2*(n[i]-n[0]);l[0]=n[0]*n[0]+n[1]*n[1]-n[2]*n[2]-n[3]*n[3];l[1]=n[0]*n[0]+n[1]*n[1]-n[4]*n[4]-n[5]*n[5];n[3]=(l[3]*l[1]-l[5]*l[0])/(l[2]*l[5]-l[4]*l[3])*o;n[4]=(l[0]*l[4]-l[1]*l[2])/(l[2]*l[5]-l[4]*l[3])*o;n[5]=Math.hypot(n[3]/o-n[0],n[4]/o-n[1])*o;}}}