만드는 중입니다

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

캥거루

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

요약
캥거루들이 다른 캥거루의 주머니에 반복해서 들어가는 과정을 거친 뒤, 가능한 최종 상태의 수를 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 정렬, 조합론
정답자
아직 제출이 없습니다

문제

K 이사장은 캥거루에 관심을 갖고 캥거루의 행동을 관찰하기로 했다. 이사장은 NN마리의 캥거루를 관찰하고 있다. 각 캥거루에게는 주머니가 하나씩 달려 있다. 캥거루에는 1,2,…,N1, 2, \ldots, N의 번호가 붙어 있다. 캥거루 ii의 몸통 크기는 AiA_i이고, 주머니 크기는 BiB_i이다. 주머니 크기는 몸통 크기보다 작다(Ai>BiA_i > B_i).

처음에는 어떤 캥거루의 주머니 안에도 다른 캥거루가 없다. 캥거루들은 더 이상 할 수 없을 때까지 다음 작업을 반복한다.

Ai<BjA_i < B_j를 만족하는 캥거루 ii, jj의 쌍 가운데, 캥거루 ii가 다른 캥거루의 주머니 안에 없고 캥거루 jj의 주머니 안에 다른 캥거루가 없는 쌍이 있으면, 캥거루 ii는 캥거루 jj의 주머니 안으로 들어간다. 이때 캥거루 ii의 주머니 안에 다른 캥거루가 있어도 되고, 캥거루 jj가 다른 캥거루의 주머니 안에 있어도 된다. 그런 쌍이 여러 개 있으면 어느 쌍이 선택될지는 알 수 없다. 캥거루 ii의 주머니 안에 다른 캥거루가 들어 있으면, 그 캥거루는 캥거루 ii와 함께 움직인다.

주어진 몸통과 주머니 크기에 대해 최종 상태가 몇 가지인지 구하라. 답은 109+710^9+7(1,000,000,007)로 나눈 나머지로 구한다.

입력

표준 입력에서 다음 입력을 읽어라.

첫째 줄에 정수 NN이 주어진다. NN은 캥거루의 마리 수이다.

이후 NN개의 줄에는 i+1i+1번째 줄에 정수 AiA_i, BiB_i가 공백으로 구분되어 주어진다. AiA_i는 ii번째 캥거루의 몸통 크기, BiB_i는 ii번째 캥거루의 주머니 크기이다.

출력

최종 상태가 몇 가지인지 109+710^9+7로 나눈 나머지를 한 줄에 출력하라.

제한

  • 1≤N≤3001 \le N \le 300 (캥거루의 마리 수)
  • 1≤Bi<Ai≤10000000001 \le B_i < A_i \le 1000000000 (ii번째 캥거루의 주머니와 몸통 크기)
  • 시간 제한 2000 ms, 메모리 제한 512 MB.

예제2

  1. 예제 1

    입력
    5
    4 3
    3 1
    6 5
    2 1
    4 2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    20
    7 6
    7 3
    10 1
    7 2
    10 7
    10 7
    8 6
    3 2
    5 4
    7 2
    3 2
    10 9
    9 4
    7 2
    8 6
    5 4
    8 6
    7 4
    10 5
    9 3
    
    예상 출력
    21060