def f(j, k): return j + k * (N + 1) N, M = map(int, input().split()) mx = 1010101 pre = [0] * mx pre[0] = 1 for j in range(N): pre[j] = 1 for i in range(N + 1): dp = [0] * mx for j in range(i + 1): for k in range(N * N + 1): if k - j >= 0: dp[f(j, k)] += pre[f(j, k - j)] if j >= 1: dp[f(j, k)] += dp[f(j - 1, k)] dp[f(j, k)] %= M dp, pre = pre, dp for k in range(N * N + 1): print(pre[f(N, k)])