#include <bits/stdc++.h>
#include<cmath>
#include<cstring>
#define pb push_back
#define pi acos(-1.0)
#define loop(i,a,n) for(int i=a;i<n;i++)
#define rloop(i,a,n) for(int i=n;i>=a;i--)
#define ff first
#define ss second
#define sc1(a) scanf("%d",&a)
#define sc2(a,b) scanf("%d %d",&a,&b)
#define sc3(a,b,c) scanf("%d %d %d",&a,&b,&c)
#define ll long long int
#define gcd(a,b) __gcd(a,b)
#define lcm(a,b) (a*b)/(gcd(a,b))
#define ms(a,b) memset(a,b,sizeof a)
#define check cout<<"HI"<<endl;

using namespace std;


long long int nCrModp(int n,int r, long long int p)
{
long long int C[n+1][r+1]={0};
    //memset(C, 0, sizeof(C));

    C[0][0] = 1;
    for (int j = 1; i <= r;j++)
    {

        for (int i =1; i <=n; i++){
//check;
            C[i][j] = (C[i-1][j] + C[i-1][j-1])%p;}
    }
    return C[n][r];
}

int main()
{
    int n ,k,m ;
    sc2(n,k);
    m=n-k+1;
    cout<<m<<endl;
    loop(i,2,k+1){
    printf("%lld\n",nCrModp(m, i, 1000000007)*nCrModp((k-1),(i-1),1000000007)%1000000007);
    }//cout <<nCrModp(m, k, 1000000007)<<endl;

    return 0;
}
;






