소방차 출동

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

문제

어떤 나라의 국토는 2차원 평면이다. 하늘을 나는 교통수단이 없어서 도로를 달리는 자동차가 가장 빠른 이동 수단이다. 도로는 평면 위에 놓인 nn개의 선분이고, 자동차는 도로 위에서만 움직인다.

화재가 일어나면 소방차가 소방서에서 출발한다. 소방서는 도로 위의 여러 지점에 있다. 소방차는 화재 지점과의 거리가 RR 이하인 곳에 도착하면 그 자리에서 호스로 불을 끈다. 화재 지점까지 갈 필요는 없고, 도로 위의 어느 점이든 화재 지점과의 거리가 RR 이하이기만 하면 된다.

도로의 배치와 소방서의 위치, 그리고 QQ개의 화재 지점이 주어진다. 각 화재마다 소방차가 달려야 하는 최소 거리를 구한다. 소방차는 어느 소방서에서 출발해도 되고, 이동 거리는 도로를 따라 잰다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다.

각 테스트 케이스는 다음과 같이 구성된다.

  • 첫 줄에 도로의 수 nn (1n10001 \le n \le 1\,000)과 진압 반경 RR (0R10000 \le R \le 1\,000)이 정수로 주어진다.
  • 이어지는 nn개의 줄에 도로 하나의 정보가 sxisx_i, syisy_i, exiex_i, eyiey_i, mim_i, ci1c_{i1}, ci2c_{i2}, \dots, cimic_{im_i} 순서로 주어진다 (0sxi,syi,exi,eyi10000 \le sx_i, sy_i, ex_i, ey_i \le 1\,000, 0mi1000 \le m_i \le 100, 1mi1001 \le \sum m_i \le 100, 0cij10 \le c_{ij} \le 1).
    • ii번째 도로는 (sxi,syi)(sx_i, sy_i)(exi,eyi)(ex_i, ey_i)를 잇는 선분이다.
    • mim_iii번째 도로 위에 있는 소방서의 개수이다.
    • cijc_{ij}ii번째 도로 위에서 소방서가 놓인 위치를 나타내는 실수이고, 그 소방서의 좌표는 (sxi×(1cij)+exi×cij, syi×(1cij)+eyi×cij)(sx_i \times (1 - c_{ij}) + ex_i \times c_{ij},\ sy_i \times (1 - c_{ij}) + ey_i \times c_{ij})이다.
    • cijc_{ij}를 제외한 모든 값은 정수이다.
  • 다음 줄에 화재의 수 QQ (1Q10001 \le Q \le 1\,000)가 주어지고, 이어지는 QQ개의 줄에 화재가 일어난 지점의 좌표 xix_i, yiy_i (0xi,yi10000 \le x_i, y_i \le 1\,000)가 정수로 주어진다.

서로 다른 두 도로는 많아야 한 점에서 만난다.

출력

각 화재마다 소방차가 달려야 하는 최소 거리를 소수점 아래 여섯째 자리까지 반올림해 한 줄에 출력한다. 소수점 아래는 항상 여섯 자리를 쓰고, 모자라는 자리는 0으로 채운다. 불을 끌 수 없는 화재라면 -1을 출력한다.