증가 부분수열

아직 제출이 없습니다시간 제한4초메모리 제한128 MB

문제

1,2,,N1, 2, \ldots, N 으로 이루어진 수열 p(1),p(2),,p(N)p(1), p(2), \ldots, p(N) 에서 모든 원소가 서로 다르면 이 수열을 순열이라고 한다.

순열 pp 에 대하여 1i1<i2<<ikN1 \le i_1 < i_2 < \cdots < i_k \le N 인 인덱스가 존재하여 p(i1)<p(i2)<<p(ik)p(i_1) < p(i_2) < \cdots < p(i_k) 를 만족하면, 순열 pp 는 길이 kk증가 부분수열을 포함한다고 한다.

순열 pp 가 길이 BB 인 증가 부분수열은 포함하지만 길이 B+1B+1 인 증가 부분수열은 포함하지 않을 때, BB 를 이 순열의 증가 차수라고 한다.

정수 NN 이 주어졌을 때, 증가 차수가 정확히 BB 인 순열의 개수를 구하는 프로그램을 작성하여라. 개수가 매우 클 수 있으므로 1,000,000,0001{,}000{,}000{,}000 으로 나눈 나머지를 출력한다.

입력

입력은 한 줄로 이루어진다. 이 줄에는 두 정수 NNBB (1N401 \le N \le 40, 1B51 \le B \le 5) 가 하나 이상의 공백으로 구분되어 주어진다.

출력

증가 차수가 정확히 BB 인 순열의 개수를 1,000,000,0001{,}000{,}000{,}000 으로 나눈 나머지를 정수 하나로 출력한다.