小Hi的手机中存着N首他喜爱的歌曲。现在小Hi希望制作一个长度为L的播放列表,满足
1. 每一首歌至少播放一编
2. 同一首歌不能连续播放,之间至少间隔一首其他歌曲
请你计算一共有多少种不同的播放列表满足条件?由于结果可能非常大,你只需要输出结果模1000000009的余数。
Input
两个整数N和L。
对于30%的数据,1 ≤ N ≤ 5,N ≤ L ≤ 10
对于100%的数据,1 ≤ N ≤ 1000, N ≤ L ≤ 2000
Output
一个整数,代表答案。
Sample Input
3 4
Sample Output
18
一开始看成了1e9+7交了次罚时……
一道容斥的模板题吧,有N个喜欢的歌,还有L长度的选择,那么我们每次考虑的是选取这么多的歌,然后会发现,有"abc"三种歌的时候,会选择到"aba"这样的情况,那么显然是不行的,那么我们就要把选择三种的可能中的只用了两种的删除掉,但是,删完两种,还要再考虑到只剩一种的情况是不是删多了,所以,还要加上去,这样一直处理到N为1时候就可以跳出了,并且,此时就是答案。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include