小红的线下查询
题号:NC302352
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红定义一个点是好的,当且仅当其同时满足:
\hspace{23pt} \bullet 点在直线 y = x + k_1 下方。
\hspace{23pt} \bullet 点在直线 y = -x + k_2 下方。
\hspace{15pt}特殊的,我们定义点与直线重合时不在其下方。

\hspace{15pt}现给出平面直角坐标系中的 n 个互不相同的整点。小红提出了共 q 次询问,每次询问包含两个整数 k_{1,i} 与 k_{2,i} 。
\hspace{15pt}对于每次查询,你需要回答当 k_1 = k_{1,i}k_2 = k_{2,i} 时,这 n 个点中有多少个好的点。

输入描述:

\hspace{15pt}第一行输入两个整数 n,q\left(1 \leqq n, q \leqq 10^5 \right)
\hspace{15pt}之后 n 行,第 i 行输入两个整数 x_i,y_i\left(-10^9 \leqq x_i,y_i \leqq 10^9 \right),代表第 i 个点的坐标。
\hspace{15pt}之后 q 行,第 i 行输入两个整数 k_{1,i},k_{2,i}\left(-10^9 \leqq k_{1,i},k_{2,i} \leqq 10^9 \right),代表第 i 次查询的 k_1k_2

输出描述:

对于每次询问,新起一行,输出一个整数代表好点的数量。
示例1

输入

复制
5 3
1 1
-1 1
2 0
-2 0
0 0
0 5
1 3
3 3

输出

复制
1
3
5

说明

\hspace{15pt}在这个样例中,三次查询依次为:

查询1
查询2
查询3