만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

8자 모양 도형

시간 제한5초메모리 제한2048 MB

요약
정수 중심과 반지름을 가진 원 n개에서 서로 바깥쪽으로 접하는 원 쌍의 개수를 구합니다.
난이도

보통10점 중 7점

유형
기하, 해시맵, 수학
정답자
아직 제출이 없습니다

문제

지난 2년간 나온 "K-Shaped Figures"와 "H-Shaped Figures" 문제를 보고 경고를 가볍게 넘기지 않았다. 그래서 준비를 단단히 했다. 알파벳에서 남은 24개 글자마다 문제가 무엇일지 가설을 세웠고, 24개 풀이를 모두 구현했다. 대회에 가져가려고 Digital Team Reference Document 지면을 전부 써 버렸다. 심사위원들이 글자 모양을 다룬 문제를 또 낸다면, 1분 만에 맞히고 모두를 어리둥절하게 만들 생각이다.

또 도형 문제라고? 정말? 하하! 아, 잠깐만...

평면 위의 두 원이 서로 접하고 있고, 어느 쪽도 다른 원의 내부에 놓여 있지 않으면 이 두 원을 8자 모양 도형이라고 한다.

유효한 8자 모양 도형유효하지 않은 8자 모양 도형

평면 위에 원 nn개가 주어진다. 어떤 두 원도 공통점을 두 개 이상 가지지 않는다. 즉, 두 원이 두 번 교차하거나 일치하지는 않지만, 서로 접하거나 한 원이 다른 원 안에 놓일 수 있다.

이 원들 중에서 8자 모양 도형을 이루는 원의 쌍의 개수를 구하시오.

입력

각 테스트는 여러 개의 테스트 케이스로 이루어진다. 첫 줄에 테스트 케이스의 개수 tt (1≤t≤1041 \le t \le 10^4)가 주어진다. 각 테스트 케이스의 설명은 다음과 같다.

각 테스트 케이스의 첫 줄에는 원의 개수 nn (2≤n≤2⋅1052 \le n \le 2 \cdot 10^5)이 주어진다.

이어지는 nn개의 줄 중 ii번째 줄에는 ii번째 원의 중심 좌표와 반지름을 나타내는 정수 xix_i, yiy_i, rir_i가 주어진다 (−109≤xi,yi≤109-10^9 \le x_i, y_i \le 10^9; 1≤ri≤1091 \le r_i \le 10^9). 어떤 두 원도 두 번 교차하거나 일치하지 않지만, 서로 접하거나 한 원이 다른 원 안에 놓일 수 있다.

모든 테스트 케이스의 nn을 합한 값은 2⋅1052 \cdot 10^5을 넘지 않는다.

출력

각 테스트 케이스마다 8자 모양 도형을 이루는 원의 쌍의 개수를 출력한다.

예제1

  1. 예제 1

    입력
    2
    5
    1 1 1
    1 3 1
    3 1 1
    3 3 1
    6 7 4
    6
    -3 0 3
    -2 0 2
    -1 0 1
    1 0 1
    2 0 2
    3 0 3
    
    예상 출력
    5
    9