이진트리

NYPC 2018 · 예선

이진트리 TT 가 있을 때, TT의 왼쪽서브트리를 TlT_l, 오른쪽 서브트리를 TrT_r로 두면 TT의 높이 h(T)h(T)는 다음과 같이 정의된다.

음수가 아닌 두 정수 NNkk가 주어질 때, 정점의 개수가 NN이고 높이가 kk인 이진트리는 모두 몇개인지를 결정하는 프로그램을 작성하시오. 예를 들어, 정점의 개수가 44이고 높이가 33인 이진트리는 아래 보인 그림에서처럼 모두 66개가 있다.

입력 형식

첫째 줄에 이진트리 TT의 정점 개수를 나타내는 정수 NN(1N5001\le N \le 500)과 높이를 나타내는 정수 kk(0kN0 \le k \le N)가 주어진다.

출력 형식

한 줄로 결과를 출력한다. 정점의 개수가 NN이고 높이가 kk인 서로 다른 이진트리 갯수를 찾아 그 값을 10000000071\,000\,000\,007로 나눈 나머지를 출력한다.

예제 1

입력

3 2

출력

1

예제 2

입력

4 3

출력

6

예제 3

입력

4 2

출력

0

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 20

N=kN=k

종류 2: 35

N10N \le 10

종류 3: 45

별다른 제약조건 없음.

해설