Everything Has Changed
시간 제한1초메모리 제한512 MB
원판과 서로 겹치지 않는 여러 원이 주어질 때, 원판 경계에 남는 호의 길이를 모두 더해 남은 영역의 둘레를 구한다.
문제
Edward는 Aluminum Cyclic Machinery에서 일한다. 그의 업무는 기계 팔을 조작해 설계된 모형을 잘라내는 것이다. 그가 하는 일을 간단히 소개한다.
작업 평면을 2차원 좌표계로 두자. 처음에 중심이 (0, 0)이고 반지름이 R인 원판이 있다. 그러면 m개의 기계 팔이 각자의 영향 범위 안에 있는 모든 것을 동시에 잘라 없앤다. i번째 영향 범위는 중심이 (xi, yi)이고 반지름이 ri인 원이다 (i = 1, 2, . . . , m). 쓸만한 모형을 얻기 위해, 어떤 두 절단 영역도 교차하지 않고 어떤 절단 영역도 원판 전체를 포함하지 않음이 보장된다.
여러분의 과제는 원판에서 잘려나간 부분을 제외한 나머지 영역의 둘레, 즉 내부 둘레를 뺀 바깥 둘레를 구하는 것이다.
다음은 예제를 그림으로 나타낸 것으로, 빨간 곡선은 계산에 포함되고 초록 곡선은 포함되지 않는다.

입력
첫째 줄에 테스트 케이스의 수를 나타내는 정수 T가 주어진다.
다음 줄들에 모든 테스트 케이스가 주어진다. 각 테스트 케이스는 다음과 같다.
첫째 줄에 두 정수 m과 R이 주어진다.
다음 m개 줄 중 i번째 줄에 세 정수 xi, yi, ri가 주어지며, 하나의 절단 영역을 나타낸다.
1 ≤ T ≤ 1000, 1 ≤ m ≤ 100, −1000 ≤ xi, yi ≤ 1000, 1 ≤ R, ri ≤ 1000 (i = 1, 2, . . . , m).
출력
각 테스트 케이스마다 남은 영역의 둘레를 한 줄에 출력한다. 답의 절대 오차 또는 상대 오차가 10−6을 넘지 않으면 정답으로 인정된다.
형식적으로, 여러분의 답을 a, 출제진의 답을 b라 하자. |a−b|/max(1,|b|) ≤ 10−6이면 정답으로 인정된다.