Paul과 Carole은 돌 $S$개와 $1$번부터 $B$번까지 번호가 매겨진 상자 $B$개로 게임을 한다. 게임을 시작하기 전에 $S$개의 돌을 $1$번부터 $B-1$번 상자에 임의로 나누어 담고, $B$번 상자는 비워 둔다. 게임은 라운드 단위로 진행된다.
각 라운드에서 먼저 Paul이 현재 상자에 들어 있는 돌들의 부분집합 $P$를 고른다. 원하는 상자에서 원하는 만큼 고를 수 있고, 하나도 고르지 않아 $P$가 공집합이어도 된다. 그다음 Carole이 두 가지 중 하나를 택한다.
돌을 승격한다는 것은 그 돌을 다음 번호의 상자로 옮기는 것이다. 즉 $b$번 상자에 있던 돌은 $b+1$번 상자로 이동한다. 돌을 버린다는 것은 그 돌을 상자에서 완전히 제거하여 이후 라운드에서 더 이상 쓰지 않는 것이다.
어떤 돌이 $B$번 상자에 도달하면 Paul이 이기고, 상자에 남은 돌이 하나도 없게 되면 Carole이 이긴다. 두 사람은 모두 최적으로 플레이한다. Paul이 한 번도 실수하지 않더라도 Carole이 반드시 이길 수 있는, $S$개의 돌을 $1$번부터 $B-1$번 상자에 나누어 담는 초기 배치가 몇 가지인지 구하여라.
입력은 여러 개의 테스트 케이스로 이루어지며, 각 테스트 케이스는 한 줄이고 파일의 끝까지 이어진다. 각 줄에는 두 정수 $S$와 $B$가 주어진다 ($1 \le S \le 200$, $2 \le B \le 100$). $S$는 돌의 개수, $B$는 상자의 개수이다.
각 테스트 케이스마다, $S$개의 돌을 앞쪽 $B-1$개의 상자에 나누어 담는 배치 중 Carole이 반드시 이길 수 있는 배치의 수를 한 줄에 하나씩 출력한다. 이 수가 매우 커질 수 있으므로 $10^9 + 7$으로 나눈 나머지를 출력한다.