from itertools import accumulate n,k,l = map(int,input().split()) mod = 10**9 + 7 dp1 = [0]*(2*n+1) dp1[0] += 1 for _ in range(k): dp2 = [0]*(2*n+1) for i in range(n): dp2[i+1] += (dp1[i] % mod) dp2[i+l+1] -= (dp1[i] % mod) dp1 = list(accumulate(dp2)) for i in range(n): dp1[i] = (dp1[i] + dp1[i+n])%mod for i in range(n): print((dp1[i])%mod)