N,M=map(int,input().split()) dp=[[0]*(N**2+1) for _ in range(N+1)] dp[0][0]=1 for i in range(N*2): ndp=[[0]*(N**2+1) for _ in range(N+1)] for j in range((i+1)//2,min(i,N)+1): for k in range(min(i**2,N**2)+1): #if dp[j][k]==0: # continue ndp[j][k]+=dp[j][k] ndp[j][k]%=M if j+1<=N and k+i-j