N,Mod=map(int,input().split()) X=[] for i in range(N+1): if i==0: X.append(0) elif i==1: X.append(1) else: X.append(pow(i,i-2,Mod)) Binom=[[0]*(N+1) for _ in range(N+1)] for n in range(N+1): B=Binom[n] C=Binom[n-1] for r in range(n+1): if r==0 or r==n: B[r]=1 else: B[r]=(C[r]+C[r-1])%Mod DP=[[0]*N for _ in range(N+1)] DP[0][0]=1 for n in range(N): B=Binom[N-n-1] D=DP[n] for k in range(1,N-n+1): alpha=(B[k-1]*X[k])%Mod E=DP[n+k] for m in range(n+1): E[m+k-1]+=(D[m]*alpha)%Mod E[m+k-1]%=Mod print(*DP[N],sep="\n")