Prof.Chen 是计算几何的大师。现在他有一个在欧几里得平面上有 $n$ 个顶点的简单多边形,他想向你提出 $q$ 个询问。在每个询问中,你将得到两个点 $P$ 和 $Q$,你需要检查线段 $PQ$ 是否与给定多边形的边界相交。注意,即使线段接触到多边形的一个点,你也应该回答 “YES”。
输入格式
第一行包含两个整数 $n$ 和 $q$ ($3 \le n \le 200\,000, 1 \le q \le 200\,000$),分别表示顶点数和询问数。
接下来的 $n$ 行,每行包含两个整数 $x$ 和 $y$ ($0 \le x, y \le 30\,000$),按顺时针或逆时针顺序给出多边形顶点的坐标 $(x, y)$。该多边形是简单的,即其顶点互不相同,且没有两条多边形边相交或接触,除了相邻边在公共顶点处接触。此外,没有两条相邻边是共线的。
接下来的 $q$ 行,每行包含四个整数 $x_1, y_1, x_2$ 和 $y_2$ ($0 \le x_1, y_1, x_2, y_2 \le 30\,000$),表示一个以 $P(x_1, y_1)$ 和 $Q(x_2, y_2)$ 为端点的查询线段。保证每个线段的两个端点不重合。
输出格式
对于每个询问,输出 “YES” 或 “NO”,占一行。
样例
样例输入 1
4 6 1 1 4 1 4 4 1 4 0 2 2 0 0 1 1 1 0 0 5 5 2 2 4 2 2 2 3 2 5 1 0 2
样例输出 1
YES YES YES YES NO YES