소 떼 울타리 세우기

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

문제

농부 John은 소가 멀리 돌아다니지 못하도록 직선 모양의 울타리를 세우려 한다. 후보 위치를 여러 개 골라 두었고, 그중 어느 것을 실제로 쓸 수 있는지 알고 싶어 한다. 울타리는 모든 소가 그 직선의 같은 쪽에 있을 때만 쓸 수 있다. 소가 직선 위에 정확히 놓여 있으면 그 울타리는 쓸 수 없다. 울타리 질의마다 쓸 수 있으면 YES를, 쓸 수 없으면 NO를 답하라.

John은 이따금 새 소를 무리에 들이기도 한다. 새 소가 합류한 순간부터는 그 소까지 나머지 무리와 같은 쪽에 있어야 울타리를 쓸 수 있다.

입력

첫째 줄에 NN (1N1000001 \le N \le 100\,000)과 QQ (1Q1000001 \le Q \le 100\,000)가 공백으로 구분되어 주어진다. 각각 처음에 무리에 있는 소의 수와 연산의 수다.

다음 NN개 줄에는 소 한 마리의 위치를 나타내는 정수 xxyy가 공백으로 구분되어 주어진다.

이어지는 QQ개 줄에는 연산이 하나씩 주어진다. 1 x y는 위치 (x,y)(x, y)에 새 소가 무리에 합류했다는 뜻이다. 2 A B C는 직선 Ax+By=CAx + By = C를 따라 세운 울타리를 쓸 수 있는지 묻는다.

입력 전체에서 소의 위치는 모두 서로 다르며, 109x,y109-10^9 \le x, y \le 10^9을 만족한다. 울타리 질의는 109A,B109-10^9 \le A, B \le 10^91018C1018-10^{18} \le C \le 10^{18}을 만족한다. AABB가 동시에 0인 질의는 없다.

출력

울타리 질의마다 쓸 수 있으면 YES를, 그렇지 않으면 NO를 한 줄에 출력한다.

힌트

소 한 마리가 직선 위에 놓이기만 해도 그 울타리는 탈락한다. 나머지 소가 모두 한쪽에 있어도 마찬가지다.

입력과 출력의 양이 많다. 입력은 빠른 방법으로 읽고, 출력은 한 줄마다 flush하지 않는다.