시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 (추가 시간 없음) 1024 MB206605033.784%

문제

2차원 평면에 N개의 군사 기지가 있는 구역이 있다. 각 i번째 부대의 위치는 좌표 (Xi, Yi)로 알려져 있다. 이 구역을 담당한 보급 부대는 모든 기지에 보급을 수행하려고 한다. 각 i번째 기지가 보급을 받을 수 있는 날짜는 Ai번째부터 Bi번째 날짜까지이다. 전쟁 중이라, 보급 부대는 병력이 전체적으로 왼쪽 위에서 오른쪽 아래로 내려가는 모양의 대열을 유지하면서 오른쪽 위 방향으로 전진해야 한다. 따라서, 아래 조건들이 모두 만족되도록 각 i번째 기지가 보급을 받을 날짜 Vi를 하루씩 지정해야 한다.

  • 모든 i에 대해 Ai ≤ Vi ≤ Bi이다.
  • 모든 i, j에 대해 Xi < Xj, Yi < Yj 인 경우 Vi < Vj라야 한다.
  • 모든 i, j에 대해 i ≠ j 이면 Vi ≠ Vj라야 한다.

각 기지의 위치와 보급 받을 수 있는 날짜들의 범위를 입력으로 받아 조건을 만족하면서 모든 기지에 보급을 할 수 있는지 확인하는 프로그램을 작성하라.

아래 예는 6개의 기지가 있는 상황을 보여 준다. 각 점이 기지에 해당하며 점 오른쪽 위에 보급을 받을 수 있는 날짜 범위가 주어져 있다.

아래 그림은 위의 예에서 조건을 만족하도록 보급 날짜를 정한 예를 보여준다. 각 점 오른쪽 아래에 배정된 날짜가 표기되어 있다. 아래 그림의 곡선은 보급 부대의 대형이 2일째와 3일째 사이에 있을 수 있는 가능한 위치를 보여 준다.

입력

첫 번째 줄에 기지의 개수 N이 주어진다.

다음 N개의 줄 중 i번째 줄에 기지의 정보 Xi, Yi, Ai, Bi가 공백을 사이에 두고 주어진다.

출력

보급 날짜 배정이 가능한 경우 첫 번째 줄에 YES를 출력한다. 다음 줄에 기지 번호 순서대로 배정된 날짜 들을 공백을 사이에 두고 출력한다.

보급 날짜 배정이 불가능한 경우 첫 번째 줄에 NO를 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1 ≤ N ≤ 250 000
  • 1 ≤ Ai ≤ Bi ≤ N
  • 1 ≤ Xi ≤ N
  • 1 ≤ Yi ≤ N
  • 모든 Xi는 서로 다르다. 즉 i ≠ j 이면 Xi ≠ Xj이다.
  • 모든 Yi는 서로 다르다. 즉 i ≠ j 이면 Yi ≠ Yj이다.

서브태스크

번호배점제한
113

N ≤ 10.

218

N ≤ 2 500.

322

모든 i에 대해 Bi = N이다.

447

추가 제약 조건 없음.

예제 입력 1

6
2 6 1 3
4 1 4 6
6 5 4 6
1 3 2 5
3 2 1 3
5 4 1 6

예제 출력 1

YES
3 4 6 2 1 5

예제 입력 2

2
1 1 2 2
2 2 1 1

예제 출력 2

NO

채점 및 기타 정보

  • 예제는 채점하지 않는다.