만드는 중입니다

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

조각품 만들기

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

요약
블록 B개로 기둥 S개를 한 줄로 쌓는 방법 중 물이 고이지 않는 경우의 수를 10^9+7로 나눈 나머지를 구합니다.
난이도

보통10점 중 6점

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

문제

미겔 안젤로는 야외 조각으로 널리 알려진 훌륭한 조각가다. 그의 고향에서는 광장과 정원에서 그의 작품을 쉽게 볼 수 있다. 사람들은 조각이 아름답다는 이유로도, 수십 년이 지나도 새것처럼 보인다는 이유로도 조각을 아낀다. 미겔과 그의 직원들이 여러 해에 걸쳐 개발한 재료와 기법 덕분에 조각은 쉽게 훼손되지 않는다. 조각을 만들 때 미겔은 먼저 방수 석고 블록(그의 비밀 재료)을 쌓아 받침대를 만든다. 블록은 일직선으로 놓인 여러 개의 기둥을 이룬다. 그는 항상 같은 블록을 쓰며, 각 기둥에는 블록이 최소 하나 있다. 구조물을 안정시키기 위해 구조물 뒤쪽과 앞쪽에 큰 유리판을 하나씩 세운다. 그런 다음 비가 올 때까지 기다린다. 이 과정에서 물이 고이지 않는 구조라면, 미겔은 그 받침대로 오래가는 예술 작품을 만들 수 있다고 확신한다. 블록의 왼쪽과 오른쪽에 장애물(다른 블록)이 모두 있으면 그 블록 위에 물이 고인다는 점에 유의하라. 아래 그림은 여러 받침대의 정면도다. 모두 3개의 기둥에 블록이 총 6개이며, 각 기둥에는 블록이 최소 하나씩 있다. 왼쪽의 받침대 8개는 오래가는 작품으로 이어지고, 오른쪽의 받침대 2개는 그렇지 않다. 미겔 안젤로에게는 조각 주문이 많이 들어온다. 그는 작품을 자유롭게 만들 수 있지만, 공정을 위해 모든 조각에 같은 수의 기둥과 같은 수의 블록을 쓰려고 한다. 같은 조각을 서로 다른 고객에게 팔고 싶지 않으므로, 매번 다른 받침대를 만든다. 그는 모든 주문을 감당하지 못할까 봐 걱정한다. 기둥 수와 받침대에 필요한 블록 수가 주어졌을 때, 그가 만들 수 있는 물이 고이지 않는 서로 다른 받침대의 개수를 구하라.

입력

입력은 두 정수 S와 B를 담은 한 줄이다 (1 ≤ S ≤ B ≤ 5000). S는 기둥의 수, B는 받침대에 있어야 하는 블록의 수다.

출력

한 줄에 물이 고이지 않는 서로 다른 받침대의 개수를 109+710^9+7로 나눈 나머지를 출력하라.

예제2

  1. 예제 1

    입력
    3 6
    
    예상 출력
    8
    
  2. 예제 2

    입력
    3 7
    
    예상 출력
    12