// 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
// 다음 줄에 x1,y1,r1,x2,y2,r2가 주어진다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int get_x(int* x1, int* y1, int* r1, int* x2, int* y2, int* r2) {
double d = sqrt((*x1 - *x2)*(*x1 - *x2) + (*y1 - *y2)*(*y1 - *y2)); // 중심 거리
※ 여기서 중심거리 d double로 안해주면 계속 오류난다 !!!! ㅠㅠ
int bigger=0,smaller=0;
if ( (*r1) < (*r2) ) {
bigger = *r2;
smaller = *r1;
}
else {
bigger = *r1;
smaller = *r2;
}
if (d == 0 && smaller == bigger) return -1; // 원이 같을 때,
else if (bigger - smaller < d && d < bigger + smaller) return 2;// 교점 2개
else if (bigger - smaller == d) return 1;// 내접
else if (bigger + smaller == d) return 1; // 외접
else if (d < bigger - smaller) return 0; // 원안에 원이 있을 때
else if (bigger + smaller < d) return 0; // 원과 원이 떨어져있을 때
}
int main() {
int num;
scanf("%d", &num);
int *x1 = (int *)malloc(sizeof(int)*num);
int *y1 = (int *)malloc(sizeof(int)*num);
int *x2 = (int *)malloc(sizeof(int)*num);
int *y2 = (int *)malloc(sizeof(int)*num);
int *r1 = (int *)malloc(sizeof(int)*num);
int *r2 = (int *)malloc(sizeof(int)*num);
for (int i = 0; i < num; i++) {
scanf("%d %d %d %d %d %d", x1 + i, y1+i, r1+i, x2+i, y2+i, r2+i);
}
for (int i = 0; i < num; i++) {
printf("%d\n", get_x(x1 + i, y1 + i, r1 + i, x2 + i, y2 + i, r2 + i));
}
return 0;
}