program BlueandRedBalls
    implicit none
    integer(8):: n, k, i
    integer(8), allocatable:: frac(:), ifrac(:)
    integer(8), parameter:: md = 1000000007

    read*, n, k

    call make_frac()

    do i=1,k
        print*, mod(comb(n-k+1,i)*comb(k-1,i-1),md)
    end do


contains

function comb(a,b) result(ret)
    integer(8):: a,b
    integer(8):: ret

    ret = mod(mod(frac(a)*ifrac(b), md)*ifrac(a-b),md)
end function


subroutine make_frac
    integer(8):: i
    allocate(frac(0:n), ifrac(0:n))

    frac(0) = 1
    ifrac(0) = 1

    do i=1,n
        frac(i) = mod(frac(i-1)*i, md)
        ifrac(i) = inv(frac(i))
    end do
end subroutine


function inv(x) result(ret)
    integer(8):: x, ret
    integer(8):: num, mul, pow

    num = md-2
    mul = x
    ret = 1

    do while (num >= 1)
        if (mod(num,2) == 1) then
            ret = mod(ret * mul, md)
        end if
        num=num/2
        mul=mod(mul*mul, md)
    end do
end function
end program BlueandRedBalls