농부 John은 소가 멀리 돌아다니지 못하도록 직선 모양의 울타리를 세우려 한다. 후보 위치를 여러 개 골라 두었고, 그중 어느 것을 실제로 쓸 수 있는지 알고 싶어 한다. 울타리는 모든 소가 그 직선의 같은 쪽에 있을 때만 쓸 수 있다. 소가 직선 위에 정확히 놓여 있으면 그 울타리는 쓸 수 없다. 울타리 질의마다 쓸 수 있으면 YES를, 쓸 수 없으면 NO를 답하라.
John은 이따금 새 소를 무리에 들이기도 한다. 새 소가 합류한 순간부터는 그 소까지 나머지 무리와 같은 쪽에 있어야 울타리를 쓸 수 있다.
첫째 줄에 N (1≤N≤100000)과 Q (1≤Q≤100000)가 공백으로 구분되어 주어진다. 각각 처음에 무리에 있는 소의 수와 연산의 수다.
다음 N개 줄에는 소 한 마리의 위치를 나타내는 정수 x와 y가 공백으로 구분되어 주어진다.
이어지는 Q개 줄에는 연산이 하나씩 주어진다. 1 x y는 위치 (x,y)에 새 소가 무리에 합류했다는 뜻이다. 2 A B C는 직선 Ax+By=C를 따라 세운 울타리를 쓸 수 있는지 묻는다.
입력 전체에서 소의 위치는 모두 서로 다르며, −109≤x,y≤109을 만족한다. 울타리 질의는 −109≤A,B≤109과 −1018≤C≤1018을 만족한다. A와 B가 동시에 0인 질의는 없다.
울타리 질의마다 쓸 수 있으면 YES를, 그렇지 않으면 NO를 한 줄에 출력한다.
소 한 마리가 직선 위에 놓이기만 해도 그 울타리는 탈락한다. 나머지 소가 모두 한쪽에 있어도 마찬가지다.
입력과 출력의 양이 많다. 입력은 빠른 방법으로 읽고, 출력은 한 줄마다 flush하지 않는다.