N,mod=map(int,input().split()) dp=[[0]*3 for i in range(2*N)] dp[1][2]=1 score=[[0]*3 for i in range(2*N)] score[1][2]=1 for i in range(1,2*N-1): for j in range(3): for k in range(3): if j==2 and k==0: continue dp[i+1][k]+=dp[i][j] dp[i+1][k]%=mod if k<=j: score[i+1][k]+=score[i][j] elif k==1 and j==0: score[i+1][k]+=score[i][j]*(i-1) elif k==2 and j==1: score[i+1][k]+=score[i][j]*i else: score[i+1][k]+=score[i][j]*i*(i-1) score[i+1][k]%=mod result=1 for x in range(1,2*N): result*=x result%=mod for i in range(1,N): result*=score[2*i+1][0] result%=mod print(result)