얼음 이글루

최대 10만 개의 선분이 작고 서로 겹치지 않는 격자 원 중 몇 개를 통과하는지 셉니다.

보통7기하행렬아직 제출이 없습니다시간 제한10초메모리 제한512 MB

문제

북극 가까운 곳, 얼어붙은 호수 위에 세워진 어촌 마을이 지구 온난화로 위험에 빠졌다. 호수 표면에 균열이 생기기 시작한 것이다. 마을은 구 모양의 이글루 nn개로 이루어져 있고, 이글루 하나는 호수 표면에서 원 모양 영역을 차지한다.

이글루는 좌표평면 위의 원으로 나타낼 수 있다. 원의 중심은 좌표가 정수인 점이고, 반지름은 소수점 아래가 정확히 한 자리이며 11보다 작은 양의 실수이다.

균열이 생길 수 있는 위치가 주어지면, 마을 사람들은 균열마다 이글루 몇 개가 영향을 받는지 알고 싶어 한다. 다시 말해 두 끝점으로 정해지는 선분이 질의로 qq개 주어질 때, 선분마다 그 선분과 만나는 이글루의 개수를 구한다. 선분이 원의 내부와 적어도 한 점을 공유하면 그 선분은 이글루와 만난다.

입력

첫째 줄에 이글루의 개수 nn (1n1000001 \le n \le 100\,000)이 주어진다. 다음 nn개 줄에는 각각 이글루 하나의 중심 좌표 xx, yy와 반지름 rr이 주어진다. xxyy1x,y5001 \le x, y \le 500인 정수이고, rr0<r<10 < r < 1이면서 소수점 아래가 정확히 한 자리인 실수이다. 어떤 두 이글루도 서로 겹치거나 접하지 않는다.

다음 줄에 질의의 개수 qq (1q1000001 \le q \le 100\,000)가 주어진다. 다음 qq개 줄에는 각각 선분의 두 끝점 좌표 x1x_1, y1y_1, x2x_2, y2y_2 (1x1,y1,x2,y25001 \le x_1, y_1, x_2, y_2 \le 500)가 정수로 주어진다. 두 끝점은 서로 다르다. 끝점이 이글루 내부에 있을 수도 있다.

모든 이글루 ii와 모든 선분 ss에서, ssii의 중심 사이 거리의 제곱은 r2105r^2 - 10^{-5}보다 작거나 r2+105r^2 + 10^{-5}보다 크다. 여기서 rr은 이글루 ii의 반지름이다.

출력

qq개 줄을 출력한다. kk번째 줄에는 kk번째 선분과 만나는 이글루의 개수를 출력한다.

힌트