n, M, C = map(int, input().split()) A = list(map(int, input().split())) sum_A = sum(A) # DPテーブルの初期化 dp = [[0] * (sum_A + 1) for _ in range(C + 1)] dp[0][0] = 1 for a in A: for c in range(C, 0, -1): for s in range(sum_A, a - 1, -1): dp[c][s] = (dp[c][s] + dp[c - 1][s - a]) % M # 結果を生成 result = [str(dp[C][s] % M) for s in range(1, sum_A + 1)] print(' '.join(result))