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: Wrong Answer)



import java.util.Scanner;

/**
 * AOJ id=0023
 * Circles Intersection
 * @author scache
 *
 */
public class Main {
	public static void main(String[] args) {
		Main p = new Main();
	}

	public Main() {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		for(int i=0;i<n;i++){
			double xa = sc.nextDouble();
			double ya = sc.nextDouble();
			double ra = sc.nextDouble();
			double xb = sc.nextDouble();
			double yb = sc.nextDouble();
			double rb = sc.nextDouble();
			solve(xa, ya, ra, xb, yb, rb);
		}
		
	}

	public void solve(double xa, double ya, double ra, double xb, double yb, double rb) {
		double c = (xa-xb)*(xa-xb)+(ya-yb)*(ya-yb);
		double rd = (ra-rb)*(ra-rb);
		double r = (ra+rb)*(ra+rb);
		double eps = 0;
		if(c<=rd-eps && ra>rb)
			System.out.println(2);
		else if(c<=rd && ra<=rb)
			System.out.println(-2);
		else if(c<=r+eps)
			System.out.println(1);
		else
			System.out.println(0);
		
		
	}

}