데굴데굴

볼록 다각형을 밑면으로 하는 물병을 굴릴 때, 주어진 물의 양에 대해 물이 차지하는 영역의 변의 수의 최솟값과 최댓값을 구한다.

어려움9기하정렬이분 탐색누적 합아직 제출이 없습니다시간 제한2.5초메모리 제한512 MB

문제

종훈이는 밑면이 볼록다각형인 직각기둥 모양의 물병을 하나 가지고 있다. 물병에는 물이 조금 들어 있다.

종훈이는 물병을 완전히 눕혔다. 즉 두 밑면에 속하지 않은 모서리가 모두 바닥과 평행하다. 이 상태로 물병을 데굴데굴 굴리면 밑면 다각형은 바닥에 수직인 평면 안에서 모든 각도로 회전한다. 물은 물병을 기울이는 즉시 평형을 되찾으므로 수면은 언제나 수평이고, 밑면에서 물이 차지하는 영역은 밑면 다각형에서 수면보다 아래에 있는 부분이다. 물병이 구르는 동안 이 영역은 여러 모양의 볼록다각형으로 바뀐다.

종훈이는 수시로 물을 마시거나 물을 다시 떠 오고, 그때마다 도움을 요청한다. 요청마다 물병에 들어 있는 물의 양이 주어진다. 물병을 굴리는 동안 물이 차지하는 영역이 가질 수 있는 변의 개수의 최솟값과 최댓값을 구하라.

물병의 높이는 11cm이다. 영역의 변을 셀 때 경계에서 이웃한 두 변이 한 직선 위에 있으면 하나의 변으로 센다.

입력

첫째 줄에 물병의 밑면을 이루는 꼭짓점의 수 NN (3N500,0003 \le N \le 500{,}000)과 종훈이가 도움을 요청한 횟수 MM (1M501 \le M \le 50)이 주어진다.

둘째 줄부터 NN개의 줄에 걸쳐 물병의 밑면을 이루는 꼭짓점의 xx좌표와 yy좌표가 공백으로 구분되어 주어진다. 이는 물병의 밑면을 11cm 단위로 격자가 그려진 좌표평면에 본뜬 뒤 임의의 꼭짓점에서 시작하여 반시계방향으로 돌면서 만나는 꼭짓점의 좌표를 순서대로 기록한 값이다. 각 좌푯값은 모두 정수이며 100,000,000-100{,}000{,}000 이상 100,000,000100{,}000{,}000 이하이다. 세 꼭짓점이 한 직선 위에 있는 경우는 없다.

이어지는 MM개의 줄에 각 요청에서 물병에 들어 있는 물의 양을 뜻하는 정수 WW가 한 줄에 하나씩 주어진다. WW11 이상이고 물병의 부피 이하이며, 단위는 cm3^3이다.

출력

MM개의 줄에 걸쳐, mm번째 줄에 mm번째 요청에 대해 물병을 눕혀 놓고 굴렸을 때 밑면에서 물이 차지하는 영역이 가질 수 있는 가장 적은 변의 수와 가장 많은 변의 수를 공백으로 구분하여 출력한다.

힌트

위 그림은 첫 번째 예제의 첫 번째 요청(W=18W = 18)에서 물이 차지하는 영역이 삼각형, 사각형, 오각형을 이루는 경우이다.