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: Compile Error)

#include<stdio.h>#include<math.h>  int main(void){ double x,y,r; double x1,x2,x3,y1,y2,y3; double ecm[3][2]; double a,b,A; int i; int n;   scanf("%d",&n); for(i = 0; i < n; i++) {  scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3);  ecm[0][0] = x1 - x2;  ecm[0][1] = y1 - y2;  ecm[0][2] = (x2*x2 + y2*y2) - (x1*x1 + y1*y1);  ecm[1][0] = x1 - x3;  ecm[1][1] = y1 - y3;  ecm[1][2] = (x3*x3 + y3*y3) - (x1*x1 + y1*y1);  A = (ecm[0][0]*ecm[1][1])-(ecm[0][1]*ecm[1][0]);   a = ((ecm[0][2]*ecm[1][1])-(ecm[0][1]*ecm[1][2]))/A+0;  b = ((ecm[0][0]*ecm[1][2])-(ecm[0][2]*ecm[1][0]))/A+0;  x = (a/-2.0);  y = (b/-2.0);  r = sqrt(pow(x1-x,2)+pow(y1-y,2));  printf("%.3f %.3f %.3f\n",x,y,r);  } return 0;}