n,k,l = map(int,input().split()) mod = 10**9+7 base = [[0]*n for i in range(n)] for i in range(n): base[i][i] = 1 A = [[0]*n for i in range(n)] for i in range(n): for j in range(1,l+1): A[i][(i-j)%n] = 1 def calc(X,Y): ans = [[0]*n for i in range(n)] for i in range(n): for j in range(n): for x in range(n): ans[i][j] += X[i][x]*Y[x][j] ans[i][j] %= mod return ans while k: if k%2: base = calc(base,A) A = calc(A,A) k //= 2 for i in range(n): print(base[i][0])