만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

부수기, 짓지 않기

시간 제한2초메모리 제한1024 MB

요약
각 점마다 연결된 두 선분 중 하나를 골라 지우고, 남은 선분들이 서로 교차하지 않게 할 수 있는지 판단합니다. 가능하면 각 점에서 지울 선분 번호를 출력합니다.
난이도

어려움10점 중 8점

유형
그래프, 기하, 분할 정복
정답자
아직 제출이 없습니다

문제

모두 집을 나가서 알프는 할 일이 없어졌다. 그러다 벽에 걸린 로스앤젤레스 지도를 보게 되었고, 자세히 살펴보기로 했다. 알프가 가장 관심을 갖는 것은 자동차 도로다. 그의 고향 별 멜맥에는 도로가 없었는데, 그곳 자동차는 오래전부터 날아다니기 때문이다.

로스앤젤레스의 도로망은 평면 위의 nn개 점으로 이루어져 있다. 점들 사이를 양방향 도로인 선분이 잇고, 모든 점에서 선분이 정확히 두 개씩 나온다. 알프는 이 사실에 놀랐다.

알프는 도로망을 종이에 옮겨 그린 뒤 일부 도로를 지우려고 한다. 그는 아무 도로나 지우고 싶어 하지 않는다. 각 점에서 나오는 도로 중 정확히 하나를 지우고, 지운 뒤에는 어떤 두 도로도 교차하지 않아야 한다. 두 도로가 끝점이 아닌 공통점을 가지면 교차한다고 본다.

알프는 호기심이 많다. 그가 원하는 일이 가능한지 알아내는 것을 도와달라.

입력

첫 줄에 점의 개수 nn (3≤n≤5003 \le n \le 500)이 주어진다. 이어지는 nn개 줄에는 각 점의 좌표 xi,yix_i, y_i (∣xi∣,∣yi∣≤109|x_i|, |y_i| \le 10^9)가 정수로 주어진다.

그 다음 nn개 줄이 이어진다. ii번째 줄에는 점 ii와 선분으로 연결된 두 점의 번호 v,uv, u (1≤v,u≤n1 \le v, u \le n, v≠uv \ne u)가 주어진다.

같은 위치에 있는 점은 없고, 세 점이 한 직선 위에 놓이지 않는다. 모든 선분의 길이는 0보다 크다.

출력

위 조건을 지키면서 각 점에서 선분을 정확히 하나씩 지울 수 없으면 NO를 출력한다. 가능하면 첫 줄에 YES를 출력한다. 이어서 nn개 줄을 출력하는데, ii번째 줄에는 점 ii에서 지울 선분의 번호 xx (1≤x≤21 \le x \le 2)를 적는다. 점 vv로 향하는 선분의 번호는 1이고, 점 uu로 향하는 선분의 번호는 2이다.

예제1

  1. 예제 1

    입력
    4
    0 0
    0 1
    1 1
    1 0
    2 4
    1 3
    2 4
    3 1
    
    예상 출력
    YES
    1
    1
    2
    2