직선 2

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

문제

직선과 다각형 사이의 거리는 그 직선과 다각형에 속하는 임의의 점 사이의 거리 중 가장 작은 값이다. 여기서 다각형은 경계(변)와 내부를 모두 포함한다. 다각형은 볼록하지 않아도 되며, 같은 꼭짓점이 여러 번 나올 수 있고 경계가 스스로 교차할 수도 있다.

다음을 수행하는 프로그램을 작성하시오.

  • 표준 입력에서 다각형과 여러 개의 직선을 읽는다,
  • 각 직선에 대해 그 직선과 다각형 사이의 거리를 계산한다,
  • 결과를 표준 출력에 쓴다.

입력

첫째 줄에 두 정수 nnmm (3n500003 \le n \le 50\,000, 1m500001 \le m \le 50\,000)이 공백으로 구분되어 주어진다. 각각 다각형의 꼭짓점 수와 분석할 직선의 수이다.

다음 nn개의 줄에는 각각 두 정수 xix_iyiy_i (109xi,yi109-10^9 \le x_i, y_i \le 10^9)가 주어지며, ii번째 꼭짓점의 좌표이다. 이웃한 두 꼭짓점, 그리고 마지막 꼭짓점과 첫 번째 꼭짓점이 다각형의 변을 이룬다.

다음 mm개의 줄에는 각각 세 정수 AiA_i, BiB_i, CiC_i (109Ai,Bi,Ci109-10^9 \le A_i, B_i, C_i \le 10^9, Ai2+Bi2>0A_i^2 + B_i^2 > 0)가 주어지며, 직선 Aix+Biy+Ci=0A_i x + B_i y + C_i = 0을 나타낸다.

출력

mm개의 줄을 출력한다. ii번째 줄에는 ii번째 직선과 다각형 사이 거리의 제곱을 기약분수로 출력한다. 분자, / 기호, 양의 분모 순서로 쓴다. 직선이 다각형에 닿거나 다각형을 지나가면 거리는 00이며 0/1로 출력한다.

힌트