矮人砍树
问题描述
矮人们所生活的地区有 N 棵树。有趣的是,这 N 棵树排成了一条直线。
现在,矮人们为了建造一个新的小屋,决定砍掉 K 棵树来获取木材。但是,矮人们希望对于任意两棵相邻的树,至少要保留一棵。
矮人们想知道,他们有多少种不同的砍树方案。由于方案数可能很大,你只需要输出方案数除以 10007 的余数。
现在,矮人们为了建造一个新的小屋,决定砍掉 K 棵树来获取木材。但是,矮人们希望对于任意两棵相邻的树,至少要保留一棵。
矮人们想知道,他们有多少种不同的砍树方案。由于方案数可能很大,你只需要输出方案数除以 10007 的余数。
输入格式
输入数据的第一行有两个正整数 N 和 K。(3 ≤ K ≤ N ≤ 500)
输出格式
你只需要输出一个数字,即矮人们的砍树方案的个数除以 10007 的余数。
样例输入
6 3
样例输出
4
对样例的解释
矮人们可以选择砍掉第 1, 3, 5 棵树,或者第 1, 3, 6 棵树,或者第 1, 4,6,或者第 2, 4, 6 棵树,所以他们一共有四种方案。
对样例的解释
矮人们可以选择砍掉第 1, 3, 5 棵树,或者第 1, 3, 6 棵树,或者第 1, 4,6,或者第 2, 4, 6 棵树,所以他们一共有四种方案。