괴물 덫

시간 제한1초메모리 제한128 MB

문제

사람들이 아직 마법을 믿던 먼 옛날, 아라냐카 곤들리르(Aranyaka Gondlir)라는 위대한 마법사가 있었다. 깊은 숲속에서 이십 년 동안 혹독하게 수련한 끝에 그는 마침내 궁극의 마법을 통달하였고, 숲을 떠나 고향으로 향하기로 했다.

고향 마을에 도착한 아라냐카는 마을이 너무나 황폐해진 것에 크게 놀랐다. 마을에는 어둠이 드리워 있었고, 바람 소리조차 마을 사람들을 두렵게 했다. 예전의 모습은 온데간데없었다.

무슨 일이 있었던 걸까? 그는 곧 죽지 않는 사악한 괴물의 분명한 흔적을 알아차렸다. 위대한 마법사조차 그 괴물을 죽일 수 없었기에, 그는 마법으로 괴물을 봉인하기로 결심했다. 아라냐카는 괴물 덫을 만드는 주문을 외울 수 있었다. 마법 지팡이로 땅에 선을 하나 그으면, 그 선은 어떤 괴물도 넘을 수 없는 장벽이 되었다. 그는 직선만 그을 수 있었기 때문에, 괴물을 완전히 둘러싸는 덫을 완성하려면 여러 개의 선을 그어야 했다. 장벽 사이에 틈이 있으면 괴물이 그 틈으로 쉽게 달아날 수 있었다.

예를 들어, 왼쪽 그림의 장벽들은 틈이 없는 완전한 괴물 덫을 이룬다. 여기서 "M"은 괴물의 위치를 나타낸다. 반면 오른쪽 그림의 장벽들은 거의 완성되었지만 빠져나갈 구멍이 하나 있다.

주어진 선분들이 괴물을 성공적으로 봉인했는지 판정하는 프로그램을 작성하는 것이 여러분의 임무이다.

입력

입력은 여러 개의 데이터셋으로 이루어지며, 각 데이터셋의 형식은 다음과 같다.

n
x1 y1 x'1 y'1
x2 y2 x'2 y'2
    . . .
xn yn x'n y'n

데이터셋의 첫 줄에는 양의 정수 $n$이 주어지는데, 이는 마법사가 그은 선분의 개수이다. 이어지는 $n$개의 각 줄에는 네 정수 $x$, $y$, $x'$, $y'$이 주어지며, 이는 선분으로 이어진 두 점 $(x, y)$와 $(x', y')$의 좌표이다. 모든 선분의 길이는 $0$이 아니다. $n \le 100$이고 모든 좌표는 $-50$ 이상 $50$ 이하라고 가정해도 된다.

편의를 위해 좌표계는 괴물이 항상 원점 $(0, 0)$에 있도록 배치되어 있으며, 마법사는 $(0, 0)$을 지나는 선을 절대 긋지 않는다.

어떤 두 선분도 교점을 많아야 하나만 가지며, 세 선분이 같은 교점을 공유하지 않고, 임의의 두 교점 사이의 거리는 $10^{-5}$보다 크다고 가정해도 된다.

$0$ 하나만 있는 줄은 입력의 끝을 나타낸다.

출력

각 데이터셋에 대해 한 줄에 "yes" 또는 "no"를 출력한다. 괴물 덫이 완성되었으면 "yes"를, 그렇지 않으면(즉, 빠져나갈 구멍이 있으면) "no"를 출력한다.