#include using namespace std; int main(){ int N, M; cin >> N >> M; vector> dp(N + 1, vector(N * N + 1, 0)); dp[0][0] = 1; for (int i = 0; i <= N; i++){ for (int j = 0; j <= N; j++){ for (int k = 0; k <= N * N; k++){ if (dp[j][k] > 0){ if (j < i){ dp[j + 1][k] += dp[j][k]; dp[j + 1][k] %= M; } } } } if (i < N){ vector> dp2(N + 1, vector(N * N + 1, 0)); for (int j = 0; j <= N; j++){ for (int k = 0; k <= N * N; k++){ if (dp[j][k] > 0){ if (i < N){ dp2[j][k + j] += dp[j][k]; dp2[j][k + j] %= M; } } } } swap(dp, dp2); } } for (int i = 0; i <= N * N; i++){ cout << dp[N][i] << endl; } }