복도 뚫기

아직 제출이 없습니다시간 제한5초메모리 제한256 MB

문제

승현의 방은 출입 보안이 철저하다. 방에 들어가려면 센서가 잔뜩 달린 복도를 지나야 하는데, 센서는 정해진 범위 안에 사람이나 물체가 들어오면 경보를 울린다.

현석은 아주 민첩한 스파이다. 승현의 방에 있는 기밀문서를 훔쳐 달라는 의뢰를 받은 현석은 먼저 복도 설계도를 손에 넣었다. 이제 설계도를 보고 자기가 직접 들어갈지, 그게 안 되면 얼마나 작은 로봇을 들여보낼지 정해야 한다.

현석은 복도를 평면으로 본다. 복도의 두 벽은 직선 x=0x = 0x=wx = w이고, ii번 센서는 중심이 (xi,yi)(x_i, y_i)이고 반지름이 rir_i인 원의 내부를 감지한다. 센서는 벽에 붙어 있기도 하고 복도 한가운데 놓여 있기도 하다. 복도를 지나가는 물체도 원으로 본다.

물체는 y=y = -\infty에서 출발해 복도 안에 완전히 들어간 채로 y=+y = +\infty까지 나아가야 한다. 움직이는 동안 어떤 센서의 감지 범위 내부에도 들어가면 안 된다. 감지 범위의 경계에 닿는 것은 괜찮다.

센서 배치가 주어질 때, 경보를 울리지 않고 복도를 빠져나갈 수 있는 원의 최대 반지름을 구하자.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. (1T1001 \le T \le 100)

각 테스트 케이스는 다음 형식이다.

  • 첫 줄에 복도의 너비를 뜻하는 정수 ww. (1w1000001 \le w \le 100\,000) 복도의 두 벽은 직선 x=0x = 0x=wx = w이다.
  • 둘째 줄에 센서의 개수를 뜻하는 정수 nn. (0n10000 \le n \le 1\,000)
  • 이어지는 nn개의 줄에 센서의 중심 좌표와 감지 반지름을 뜻하는 정수 xx, yy, rr. (0xw0 \le x \le w, 100000y100000-100\,000 \le y \le 100\,000, 1r1000001 \le r \le 100\,000)

복도는 yy 방향으로 무한히 뻗어 있고, 물체가 출발하는 끝과 도착하는 끝은 모든 센서의 범위에서 한참 벗어나 있다.

출력

각 테스트 케이스마다 센서에 걸리지 않고 복도를 지나갈 수 있는 원의 최대 반지름을 한 줄에 출력한다. 물체는 아주 정밀하게 움직인다고 가정한다. 지나갈 방법이 없으면 00을 출력한다.

답은 소수점 아래 여섯째 자리까지 반올림하고, 소수점 아래 여섯 자리를 항상 채워서 출력한다. 답이 1.51.51.500000, 답이 00이면 0.000000을 출력한다.