Farmer John wants to build a fence in the shape of a straight line so his cows cannot wander so far. He has picked several candidate positions for it and needs to know which ones he can actually use. A fence is usable when every cow is on the same side of it. A fence is not usable when a cow lies directly on it. For each fence query, answer YES when the fence is usable and NO when it is not.
Farmer John also brings new cows into the herd from time to time. From the moment a new cow joins, every later fence query needs her on the same side as the rest of the herd for the fence to be usable.
The first line contains N (1≤N≤100000) and Q (1≤Q≤100000), separated by a space. They give the number of cows in the herd at the start and the number of operations.
Each of the next N lines contains two space separated integers x and y, the position of one cow.
Each of the remaining Q lines holds one operation. A line 1 x y means a new cow joined the herd at position (x,y). A line 2 A B C asks whether the fence along the line Ax+By=C is usable.
Every cow position in the whole input is distinct, and all of them satisfy −109≤x,y≤109. The fence queries satisfy −109≤A,B≤109 and −1018≤C≤1018. No fence query has A=B=0.
For each fence query, print YES on its own line when the fence is usable, and NO otherwise.
One cow sitting on the line is enough to rule a fence out, even when every other cow is on one side of it.
The input and the output are large. Read the input with a fast reader and do not flush the output after every line.