다각형 질의
시간 제한1초메모리 제한512 MB
점을 하나씩 추가하는 집합에서, 볼록 껍질의 두 꼭짓점 사이를 시계 방향과 반시계 방향으로 갈 때 지나는 꼭짓점이 더 많은 방향을 구합니다.
문제
를 2차원 평면 위의 점들의 집합이라고 하자. 처음에 는 빈 집합이다. convexHull()는 의 볼록 껍질(convex hull)의 꼭짓점들로 이루어진 의 부분집합이며, 한 직선 위에 있는 세 점은 포함하지 않는다.
질의는 개이며, 각 질의는 다음 두 종류 중 하나이다.
- add(, ): 점 (, )를 에 추가한다. 두 점이 같은 좌표나 같은 좌표를 가지지 않는다고 보장된다.
- findHeavy(, , , ): 점 (, )과 (, )는 convexHull()에 속한 서로 다른 점이다. 이 질의는 convexHull()가 점을 세 개 이상 가질 때만 호출된다고 보장된다. 로봇이 (, )에 있고 (, )로 가려 한다. 로봇은 convexHull()의 변을 따라서만 이동할 수 있다. 시계 방향으로 이동할 때 지나가는 convexHull()의 점 수를 , 반시계 방향으로 이동할 때 지나가는 점 수를 라 한다. 이면 "CW"를, 그렇지 않으면 "CCW"를 출력한다.
입력
첫 줄에 정수 ()가 주어진다. 이어서 개의 줄이 주어지며, 각 줄은 3개 또는 5개의 정수로 이루어진다.
- 번째 질의가 add(, )이면 번째 줄은 0 형태이다 ().
- 번째 질의가 findHeavy(, , , )이면 번째 줄은 1 형태이다 ().
출력
findHeavy 질의마다 답을 한 줄에 하나씩 출력한다.