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 JavaScript (judge verdict: Accepted)

/* h  t  t  p :  /  / geom . w e b . fc 2 . c o m / geometry / circle-3points . h  t  m  l */
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var Arr=(input.trim()).split("\n");
var n=Arr.shift()-0;
for(i=0;i<n;i++){
   var arr=Arr.shift().split(" ").map(Number);
   (function(x1, y1, x2, y2, x3, y3){
      var d1 = x1*x1+y1*y1;
      var d2 = x2*x2+y2*y2;
      var d3 = x3*x3+y3*y3;
      var u = 0.5/(x1*y2-x2*y1+x2*y3-x3*y2+x3*y1-x1*y3);
      var a = u*(d1*y2-d2*y1+d2*y3-d3*y2+d3*y1-d1*y3);
      var b = u*(x1*d2-x2*d1+x2*d3-x3*d2+x3*d1-x1*d3);
      var r = Math.sqrt((a-x1)*(a-x1)+(b-y1)*(b-y1));
      console.log(a.toFixed(3)+" "+b.toFixed(3)+" "+r.toFixed(3));
   }).apply(null,arr);
}