만드는 중입니다

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

Cowmpetency

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

요약
각 점수가 1부터 C까지인 N명의 점수 수열 중 모든 (a, h) 조건을 만족하는 수열의 개수를 10^9+7로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

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

문제

파머 존은 소 무리를 이끌 새 리더를 뽑고 있다. 이를 위해 지원한 소 NN마리를 면접했다(2≤N≤1092 \leq N \leq 10^9). 면접을 마칠 때마다 각 소에게 11부터 CC까지(1≤C≤1041 \leq C \leq 10^4) 사이의 정수 cowmpetency 점수를 매겼다. 이 점수는 그 소의 리더십 능력과 연관되어 있다.

파머 존은 모든 소의 cowmpetency 점수를 잊어버렸다. 다만 QQ쌍 (ai,hi)(a_i, h_i)(1≤Q≤min⁡(N−1,100)1 \leq Q \leq \min(N - 1, 100))은 기억한다. 소 hih_i는 소 11번부터 aia_i번까지의 어떤 소보다도 엄격하게 큰 cowmpetency 점수를 가진 첫 번째 소였다. 따라서 1≤ai<hi≤N1 \leq a_i < h_i \leq N이다.

파머 존이 알려준 QQ쌍으로 세어 보자. 이 정보와 일치하는 cowmpetency 점수 수열의 개수를 구하라. 적어도 하나의 수열이 존재함이 보장된다. 개수는 매우 클 수 있으므로 109+710^9+7로 나눈 나머지를 출력한다.

입력

첫 줄에 NN, QQ, CC가 주어진다.

다음 QQ줄에는 각각 한 쌍 (ai,hi)(a_i, h_i)가 주어진다. 모든 aja_j는 서로 다르다.

출력

이 정보와 일치하는 cowmpetency 점수 수열의 개수를 109+710^9+7로 나눈 나머지로 출력한다.

예제2

  1. 예제 1

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

    입력
    10 1 20
    1 3
    
    예상 출력
    399988086