부수기, 짓지 않기
시간 제한2초메모리 제한1024 MB
각 점마다 연결된 두 선분 중 하나를 골라 지우고, 남은 선분들이 서로 교차하지 않게 할 수 있는지 판단합니다. 가능하면 각 점에서 지울 선분 번호를 출력합니다.
문제
모두 집을 나가서 알프는 할 일이 없어졌다. 그러다 벽에 걸린 로스앤젤레스 지도를 보게 되었고, 자세히 살펴보기로 했다. 알프가 가장 관심을 갖는 것은 자동차 도로다. 그의 고향 별 멜맥에는 도로가 없었는데, 그곳 자동차는 오래전부터 날아다니기 때문이다.
로스앤젤레스의 도로망은 평면 위의 개 점으로 이루어져 있다. 점들 사이를 양방향 도로인 선분이 잇고, 모든 점에서 선분이 정확히 두 개씩 나온다. 알프는 이 사실에 놀랐다.
알프는 도로망을 종이에 옮겨 그린 뒤 일부 도로를 지우려고 한다. 그는 아무 도로나 지우고 싶어 하지 않는다. 각 점에서 나오는 도로 중 정확히 하나를 지우고, 지운 뒤에는 어떤 두 도로도 교차하지 않아야 한다. 두 도로가 끝점이 아닌 공통점을 가지면 교차한다고 본다.
알프는 호기심이 많다. 그가 원하는 일이 가능한지 알아내는 것을 도와달라.
입력
첫 줄에 점의 개수 ()이 주어진다. 이어지는 개 줄에는 각 점의 좌표 ()가 정수로 주어진다.
그 다음 개 줄이 이어진다. 번째 줄에는 점 와 선분으로 연결된 두 점의 번호 (, )가 주어진다.
같은 위치에 있는 점은 없고, 세 점이 한 직선 위에 놓이지 않는다. 모든 선분의 길이는 0보다 크다.
출력
위 조건을 지키면서 각 점에서 선분을 정확히 하나씩 지울 수 없으면 NO를 출력한다. 가능하면 첫 줄에 YES를 출력한다. 이어서 개 줄을 출력하는데, 번째 줄에는 점 에서 지울 선분의 번호 ()를 적는다. 점 로 향하는 선분의 번호는 1이고, 점 로 향하는 선분의 번호는 2이다.