번창하는 분재 가게

각 노드의 자식이 순서를 가진 루트 트리 중 노드 수가 정확히 w이고 높이가 정확히 h인 트리의 개수를 10^9+7로 나눈 나머지를 구한다.

어려움8동적 계획법조합론트리재귀아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

분재는 작은 화분에서 작은 나무를 기르는 기술이다. 당신은 분재 전문가여서 해마다 분재 협회 가지치기 대회에서 우승한다. 얼마 전에는 작은 가게를 빌려 직접 기른 작품을 팔기 시작했고, 이제 손님을 끌 진열창을 꾸미려 한다. 진열창에 들어가는 가장 인상적인 나무를 기르고 싶지만 창의 높이는 정해져 있고, 진열대 바닥이 견디는 무게도 정해져 있다. 그래서 높이와 무게가 정확히 맞는 나무가 필요하다.

정의에 따라 분재는 가지 하나와, 그 가지에서 갈라져 나온 0개 이상의 더 작은 분재로 이루어진다.

그림 1: 서로 다른 분재 네 개.

분재의 무게는 그 안에 있는 가지의 개수다. 그림 1에 있는 분재의 무게는 차례로 1, 4, 6, 6이다. 분재의 높이는 뿌리에서 꼭대기까지 이어지는 가지 사슬 중 가장 긴 것의 길이다. 그림 1에 있는 분재의 높이는 차례로 1, 2, 3, 3이다.

한 가지에서 갈라져 나온 작은 분재는 왼쪽에서 오른쪽으로 순서가 있다. 모든 가지에서 갈라져 나온 작은 분재의 나열이 순서까지 같을 때만 두 분재를 같은 분재로 센다.

높이가 정확히 hh이고 무게가 정확히 ww인 분재가 몇 개인지 구하라. 답이 매우 클 수 있으므로 109+710^9 + 7로 나눈 나머지를 출력한다.

입력

첫째 줄에 정수 hhww가 공백으로 구분되어 주어진다. (1h,w3001 \le h, w \le 300)

출력

높이가 hh이고 무게가 ww인 분재의 개수를 109+710^9 + 7로 나눈 나머지를 한 줄에 출력한다.