编程题
### 问题描述
在魔法森林中,鲁邦和基德发现了一片神秘的花海。这片花海有 $N$ 朵鲜花,其中 $K$ 朵是蓝色的,而其余的则是红色的。由于所有的同色花朵外观均无法区分,鲁邦和基德决定玩一个游戏。
首先,鲁邦将会按照他想要的顺序将这 $N$ 朵花朵排列成一行。
然后,基德将收集花海中所有的蓝色花朵。在每一次行动中,他都可以收集任意数量的连续的蓝色花朵,他的目标是以尽可能少的次数收集所有蓝色花朵。
问题来了,鲁邦可以以多少种方式排列这 $N$ 朵花朵,使得基德需要恰好 $i$ 次行动来收集所有的蓝色花朵?请对每个 $i$ ($1 \leq i \leq K$)计算这个数量,并对其取模 $10^9 + 7$。
### 输入格式
输入一行由两个整数 $N$ 和 $K$ 组成,表示花朵的总数和蓝色花朵的数量。
数据范围保证:$1\leq K \leq N \leq 2000$。
### 输出格式
输出 $K$ 行,第 $i$ 行($1 \leq i \leq K$)应该包含鲁邦可以以多少种方式排列花朵,使得基德需要恰好 $i$ 次行动来收集所有的蓝色花朵,结果需要对 $10^9 + 7$ 取模。
### 样例输入
```
4 2
```
### 样例输出
```
3
3
```
### 说明
对于样例,当排列如 $(b,b,r,r,)$,$(r,b,b,r)$,$(r,r,b,b)$ 时基德可以恰好 $1$ 次手下所有蓝色的花,其中 $b$ 代表蓝色的花,$r$ 代表红色的花。