在遥远的小岛上,住着一群与世隔绝的老人。 整个岛屿被栅栏分割成若干块土地,每位老人拥有一块被栅栏四面环绕的土地。(所有栅栏之外的区域即为海洋。)每位居民都需要捕鱼为生,而他们唯一能捕鱼的地方就是周围的海洋。由于并非每块土地都与海洋相连,一些人可能需要穿过他人的土地才能到达海洋。人们每次可以跨越一道栅栏,但不能穿过栅栏的立柱或栅栏的交叉点。
不幸的是,这些老人非常贪婪。每当有人想要进入他们的土地时,他们都会索要一条鱼。由于他们不想把太多的鱼输给别人,每位老人都选择一条能使自己到达海洋所需支付的鱼的数量最小化的路线。
多年来,这导致了老人们之间的竞争。每个人都憎恨所有那些到达海洋所需支付的鱼比自己少的人。只有当两个人到达海洋所需支付的鱼的数量相同时,他们才会互相喜欢。
图 I.1:前三个样例输入的示意图。在样例 1 中,每个人都可以直接到达海洋,所以他们都互相喜欢。在样例 2 中,不存在一对互相喜欢的邻居,因为住在中间的人需要支付一条鱼,而他所有的邻居到达海洋都不需要支付任何鱼。在样例 3 中,有六个人,其中一些是友好的邻居。
现在出现了一个自然的问题:岛上是否存在一些互为邻居(拥有栅栏两侧土地)且互相喜欢的老人?参见图 I.1,图中展示了两个对该问题答案相反的岛屿。
输入格式
输入包含: 一行一个整数 $n$ ($3 \le n \le 1000$),表示栅栏的数量。 $n$ 行,每行四个整数 $x_1, y_1, x_2$ 和 $y_2$ ($|x_1|, |y_1|, |x_2|, |y_2| \le 10^6, (x_1, y_1) \neq (x_2, y_2)$),表示连接坐标为 $(x_1, y_1)$ 和 $(x_2, y_2)$ 的栅栏立柱的直线栅栏。
注意,栅栏可能会在内部相交,且三条或更多栅栏可能在同一位置相交。
保证任意两条栅栏最多只在一个点相交。此外,跨越一道栅栏后,总是会进入一个不同的区域。所有区域共同构成了一个单一的岛屿,其中任何区域都可以从其他任何区域到达。
输出格式
如果存在一对互相喜欢的邻居,则输出 “yes”。否则,输出 “no”。
样例
样例输入 1
6 -3 -3 0 3 -3 -3 0 0 -3 -3 3 -3 0 0 0 3 0 0 3 -3 0 3 3 -3
样例输出 1
yes
样例输入 2
6 -6 -3 0 3 0 3 6 -3 6 -3 -6 -3 -3 0 3 0 3 0 0 -3 0 -3 -3 0
样例输出 2
no
样例输入 3
8 0 1 2 1 2 2 0 0 1 2 1 0 1 0 2 1 0 0 2 0 1 2 2 2 0 1 0 0 2 2 2 0
样例输出 3
yes
样例输入 4
4 0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0
样例输出 4
no