MOD = 10 ** 9 + 7 def matmul(A, B): ret = [[0] * len(B[0]) for i in range(len(A))] for i in range(len(A)): for j in range(len(B[0])): for k in range(len(A[0])): ret[i][j] = (ret[i][j] + A[i][k] * B[k][j]) % MOD return ret def matpow(A, n): ret = [[0] * len(A) for i in range(len(A))] for i in range(len(A)): ret[i][i] = 1 while n > 0: if n % 2: ret = matmul(ret, A) n //= 2 A = matmul(A, A) return ret N, K, L = map(int, input().split()) A = [[0] * N for i in range(N)] for i in range(N): for j in range(i + 1, i + L + 1): A[j % N][i] = 1 A = matpow(A, K) print(*[A[i][0] for i in range(N)], sep = "\n")