Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Circles Intersection

You are given circle $A$ with radius $r_a$ and with central coordinate $(x_a, y_a)$ and circle $B$ with radius $r_b$ and with central coordinate $(x_b, y_b)$.

Write a program which prints:

"2" if $B$ is in $A$,

"-2" if $A$ is in $B$,

"1" if circumference of $A$ and $B$ intersect, and

"0" if $A$ and $B$ do not overlap.

You may assume that $A$ and $B$ are not identical.

Input

The input consists of multiple datasets. The first line consists of an integer $N$ ($N \leq 50$), the number of datasets. There will be $N$ lines where each line represents each dataset. Each data set consists of real numbers:

$x_a$ $y_a$ $r_a$ $x_b$ $y_b$ $r_b$

Output

For each dataset, print 2, -2, 1, or 0 in a line.

Sample Input

2
0.0 0.0 5.0 0.0 0.0 4.0
0.0 0.0 2.0 4.1 0.0 2.0

Output for the Sample Input

2
0

Solution in JAVA (judge verdict: Accepted)

import java.io.*;
import java.util.StringTokenizer;

class Main {
    public static void main(String args[]) {
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	try {
	    int n = Integer.parseInt(br.readLine());
	    for (int i=0;i<n;i++) {
		StringTokenizer st = new StringTokenizer(br.readLine());
		double x[] = new double[2];
		double y[] = new double[2];
		double r[] = new double[2];
		for (int j=0;j<2;j++) {
		    x[j] = Double.parseDouble(st.nextToken());
		    y[j] = Double.parseDouble(st.nextToken());
		    r[j] = Double.parseDouble(st.nextToken());
		}
		double rsum = r[0]+r[1];
		double rdif = Math.abs(r[0]-r[1]);
		double d = Math.sqrt(Math.pow(x[1]-x[0],2)+Math.pow(y[1]-y[0],2));

		int check;
		if (rsum<d) check = 0;
		else if (rdif<=d && rsum>=d) check = 1;
		else if (r[0]>r[1]) check = 2;
		else check = -2;
		System.out.println(check);
	    }
	} catch (Exception e) {
	    e.printStackTrace();
	}
    } 
}