반복 합 구하기

S(0, n) = n에서 시작해 접두사 합을 k번 반복한 S(k, n)을 1,000,000,007로 나눈 나머지를 구한다.

보통6조합론수학동적 계획법아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

함수 SS를 다음과 같이 정의한다.

  • 모든 양의 정수 nn에 대해 S(0,n)=nS(0, n) = n
  • 모든 양의 정수 kk, nn에 대해 S(k,n)=S(k1,1)+S(k1,2)++S(k1,n)S(k, n) = S(k-1, 1) + S(k-1, 2) + \dots + S(k-1, n)

S(k,n)S(k, n)은 한 단계 아래 함수의 값을 11부터 nn까지 모두 더한 값이다.

kknn이 주어졌을 때, S(k,n)S(k, n)을 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 kknn이 공백으로 구분되어 주어진다. (1k501 \le k \le 50, 1n1,000,000,0001 \le n \le 1{,}000{,}000{,}000)

출력

첫째 줄에 S(k,n)S(k, n)을 1,000,000,007로 나눈 나머지를 출력한다.