说明
在二维平面上给定 n 个互不相同的标记点,编号为 1 到 n。标记点 i 的坐标为 (xi,yi)。在本问题中,你会得到 q 个场景,编号为 1 到 q。在每个场景 k 中,给定四个整数 ak、bk、ck 和 dk,表示你初始位于 (ak,bk),旨在通过任意次重复下述步骤到达 (ck,dk)。
在单步操作中,你选择两个标记点 P 和 Q,它们可以相同。设 S 表示你当前所在点,定义点 T 使得
PT=SQ
换言之,T 的选取使得从 P 到 T 的向量与从 S 到 Q 的向量具有相同的方向和长度。然后你可以移动到线段 ST 上的任意点,包括点 T 本身,并且你将站立在那个新点上。
对于每个场景,判断是否可以通过所描述的步骤实现目标。注意所有场景彼此独立。
输入格式
输入的第一行包含两个整数 n 和 q(1≤n≤100000,1≤q≤100000)。接下来的 n 行中的第 i 行包含两个整数 xi 和 yi(0≤xi,yi≤109)。输入保证没有两个标记点具有相同的坐标。
接下来的 q 行表示场景。其中第 k 行包含四个整数 ak、bk、ck 和 dk(0≤ak,bk,ck,dk≤109;(ak,bk)=(ck,dk))。
输出格式
输出 q 行。第 k 行应包含 yes(如果场景 k 的目标可实现),否则输出 no。
2 4
10 0
0 10
3 4 6 5
4 0 7 0
4 0 16 0
123 456 789 0
yes
yes
yes
no
提示
样例输入/输出 #1 的解释
有两个标记点 (10,0) 和 (0,10)。在场景 1 中,从点 S=(a1,b1)=(3,4) 出发,目标实现过程如下:
- 第一步,选择 (10,0) 作为 P,(0,10) 作为 Q。确定点 T 的坐标为 (7,6)。移动到点 (40/7,75/14),该点位于线段 ST 上。(图 M.1 (a))
- 下一步,选择 (10,0) 同时作为 P 和 Q。确定点 T 的坐标为 (100/7,−75/14)。从那里可以到达点 (c1,d1)=(6,5)。(图 M.1 (b))
在场景 2 中,从 S=(a2,b2)=(4,0) 出发。选择 (10,0) 同时作为 P 和 Q。确定点 T 的坐标为 (16,0)。点 (c2,d2)=(7,0) 在线段 ST 上,因此一步即可到达。(图 M.1 (c))
在场景 3 中,目标同样可实现。
在场景 4 中,可以证明从 (a4,b4)=(123,456) 到达点 (c4,d4)=(789,0) 是不可能的。
:::align{center}

图 M.1:样例输入 #1 中场景的图示。
:::
翻译由 DeepSeek 完成