만드는 중입니다

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

실내 자전거 프로그램

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

요약
각 단계마다 정확히 1씩 변하고 값이 M과 N 사이에 머무는 길이 T의 수열 개수를 10^9+7로 나눈 나머지로 구한다.
난이도

보통10점 중 6점

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

문제

비니시우스는 헬스장에서 운동하기를 아주 좋아한다. 그는 실내 자전거를 탈 때마다 매번 다른 운동 프로그램을 받기로 트레이너와 약속했다. 헬스장에서 말하는 프로그램이란 운동 난이도를 시간 순서대로 늘어놓은 수열이다. 비니시우스의 실내 자전거 프로그램은 모두 길이가 같아야 하고, 난이도는 1분마다 바로 한 단계 위나 바로 한 단계 아래로 바뀌어야 한다. 난이도는 미리 정해 둔 최솟값보다 낮아도 안 되고 최댓값보다 높아도 안 된다.

즉, TT분짜리 프로그램은 1분마다의 난이도를 순서대로 적은 길이 TT의 정수 수열이고, 이웃한 두 분의 난이도는 정확히 11만큼 차이가 난다. 위 조건을 지키면서 트레이너가 만들 수 있는 서로 다른 프로그램의 개수를 구하라.

입력

첫째 줄에 세 정수 TT, MM, NN이 공백으로 구분되어 주어진다. (1≤T≤501 \le T \le 50, 1≤M<N≤1000001 \le M < N \le 100000)

TT는 운동하는 시간(분), MM은 허용되는 난이도의 최솟값, NN은 허용되는 난이도의 최댓값이다.

출력

트레이너가 만들 수 있는 서로 다른 프로그램의 개수를 한 줄에 출력한다. 이 값이 매우 클 수 있으므로 109+710^9 + 7로 나눈 나머지를 출력한다.

예제3

  1. 예제 1

    입력
    3 2 5
    
    예상 출력
    10
    
  2. 예제 2

    입력
    30 2 5
    
    예상 출력
    4356618
    
  3. 예제 3

    입력
    50 1 100000
    
    예상 출력
    738072143