만드는 중입니다

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

2022 APC가 어려웠다고요?

면접 대비

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

요약
각 문제의 난이도 D_i가 a_i 이상 b_i 이하이고, 인접한 문제의 난이도 차이가 K 이하인 경우의 수를 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 5점

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

문제

2022 APC는 출제진들의 생각보다 어려웠다고 한다. 난이도를 조절하기 위해 2023 APC의 출제자 현빈이가 난이도 가이드라인을 만들었다. 2023 APC에는 NN개의 문제가 출제될 예정이다. 각 문제는 순서대로 11번부터 NN번까지 번호를 가진다.

현빈이가 만든 난이도 가이드라인에는 두 가지 규칙이 있다.

  • ii번 문제의 난이도 DiD_{i}는 ai≤Di≤bia_{i} \leq D_{i} \leq b_{i}를 만족하는 정수다.
  • 인접한 문제의 난이도 차이는 KK 이하다. 다시 말해 모든 ii에 대해 ∣Di−Di+1∣≤K|D_{i}-D_{i+1}| \leq K를 만족한다.

현빈이를 위해 가이드라인의 규칙을 준수하면서 NN개 문제의 난이도를 정하는 방법의 수를 구해 주자.

입력

첫째 줄에 NN과 KK가 주어진다. (1≤N≤3 000;0≤K≤3 000)(1\leq N\leq 3\,000; 0\leq K \leq 3\,000)

둘째 줄부터 NN줄에 걸쳐 aia_{i}와 bib_{i}가 공백으로 구분되어 주어진다. (1≤ai≤bi≤3 000)(1\leq a_{i} \leq b_{i} \leq 3\,000)

입력으로 주어지는 모든 값은 정수다.

출력

조건에 맞게 NN개 문제의 난이도를 정하는 방법의 수를 109+710^{9}+7로 나눈 나머지를 출력하시오.

힌트

죄송합니다.

예제2

  1. 예제 1

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

    입력
    3 0
    1 7
    2 6
    3 5
    
    예상 출력
    3