给定平面上的 $n$ 个点组成的序列 $P_1, P_2, \ldots, P_n$。用线段依次连接相邻的点,并连接 $P_n$ 与 $P_1$,使这个序列首尾相接。
判断这些线段是否构成简单多边形。在本题中,简单多边形必须同时满足以下条件:
- 全部 $n$ 个顶点两两不同。
- 任意两条相邻边的交集恰好是它们的公共端点。第一条边与最后一条边也视为相邻边。
- 任意两条不相邻的边没有任何公共点。
相邻边可以沿同一直线继续延伸,但不能重叠或沿原路折返。给定的点序列可能包含重复的点;特别地,长度为零的边不合法。
输入格式
第一行包含一个整数 $T$,表示测试数据的组数。对于每组测试数据:
第一行包含一个整数 $n$($3 \le n \le 10^5$),表示点的数量。
接下来 $n$ 行按顺序描述这些点。其中第 $i$ 行包含两个整数 $x_i$ 和 $y_i$($-10^9 \le x_i, y_i \le 10^9$),表示 $P_i$ 的坐标。
保证所有测试数据的 $n$ 之和不超过 $10^5$。
输出格式
对于每组测试数据,输出一行。如果给定的点序列构成简单多边形,输出 Yes;否则输出 No。输出区分大小写。
样例
输入格式 1
6 3 0 0 4 0 0 3 4 0 0 4 4 0 4 4 0 5 0 0 2 0 4 0 4 3 0 3 5 0 0 3 0 3 3 0 0 0 3 5 0 0 4 0 4 4 2 0 0 4 5 0 0 4 0 2 0 4 3 0 3
输出格式 1
Yes No Yes No No No
说明
第一组测试数据是一个三角形。
第二组测试数据中,两条不相邻的边交叉。
第三组测试数据中,前三个点共线,但这个序列仍然构成简单多边形。
第四组测试数据中,第一个点与第四个点重合。
第五组测试数据中,第四个点位于第一条边的内部。
第六组测试数据中,前两条边重叠。