#include using namespace std; int main() { int N, M, C; cin >> N >> M >> C; vector A(N); for (int &a : A) cin >> a; int S = accumulate(A.begin(), A.end(), 0); vector> dp(C + 1, vector(S + 1, 0)); dp[0][0] = 1; for (int a : A) { for (int j = C; j >= 1; --j) { for (int s = S; s >= a; --s) { dp[j][s] = (dp[j][s] + dp[j - 1][s - a]) % M; } } } for (int s = 1; s <= S; ++s) { cout << dp[C][s] % M << (s < S ? ' ' : '\n'); } return 0; }