#P2401. Street Polygon

Street Polygon

本题没有可用的提交语言。

描述

如果连接 p 和 q 的线段不包括 P 之外的任何点,则简单多边形 P 内的两个点 p 和 q 是互可见的。P 的边界边上的点被视为在 P 内部。如果对于一组中的每个点,另一组中将有一个点,使得这两个点是相互可见的,则称两组点是相互微弱可见的。给定 P 边界上的两个不同点 s 和 t,如果从 s 到 t 的两个边界链相互微弱可见,则称 P 是相对于 s 和 t 的街道多边形。例如,下图显示了一个简单的多边形,该多边形是街道,而另一个不是。

您将编写一个程序,该程序给定一个顶点为 v1、v2、...、vn 的简单多边形 P,以确定 P 是否是相对于 vj 和 vk(这是给定 P 的两个不同顶点)的街道多边形。

输入

输入的第一行包含一个整数 t (1 <= t <= 10),即测试用例的数量,后跟每个测试用例的输入数据。每个测试用例的第一行包含一个整数 n (3 <= n <= 20),即简单多边形的顶点数。接下来,有 n 行,包含第 i 行中顶点 vi 的 x 和 y 坐标,假设顶点 vi 和 vi+1 之间以及 vn 和 v1 之间有一条边。假定 x 和 y 坐标是 0 到 100 范围内的整数。测试用例的最后一行包含两个整数 j 和 k (1 <= j, k <= n , j != k)。

输出

每个测试用例的输出中应有一行包含单个单词 YES 或 NO,具体取决于 P 是否是相对于 vj 和 vk 的街道。

输入数据 1

1
3
10 15
20 30
99 40
1 2

输出数据 1


YES