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()
{
  int setcount;
  float x1, y1, x2, y2, x3, y3;
  float nx1, ny1, nx2, ny2;
  float nr1, nr2;
  float xp, yp, r;
  int tx, ty, tr, rem;
  int i;

  scanf("%d", &setcount);
  for(i=0; i<setcount; i++){
    scanf("%f %f %f %f %f %f", &x1, &y1, &x2, &y2, &x3, &y3);
    nx1=x2-x1; ny1=y2-y1;
    nx2=x3-x1; ny2=y3-y1;
    nr1=nx1^2+ny1^2; nr2=nx2^2+ny2^2;
    nr1*=0.5f; nr2*=0.5f;


    xp=nr1+x1; yp=nr2+y1;
    r=(float)sqrt((double)(nr1^2+nr2^2));
    tx=xp*10000; ty=yp*10000; tr=r*10000;
    if((rem=tx%10)<5) tx-=rem;
    else tx+=10-rem;
    if((rem=ty%10)<5) ty-=rem;
    else ty+=10-rem;
    if((rem=tr%10)<5) tr-=rem;
    else tr+=10-rem;
    xp=(float)tx*0.0001f; yp=(float)ty*0.0001f; r=(float)tr*0.0001f;

    printf("%.3f %.3f %.3f\n", xp, yp, r);
  }

  return 0;
}