#include <bits/stdc++.h>
using namespace std;
using ll=long long;

int main(){
	ll n,m;
	cin>>n>>m;
	vector<vector<ll>> dp(2,vector<ll>(3));
	dp[0][0]=1%m;
	dp[0][1]=2%m;
	dp[0][2]=3%m;
	ll ans=1;
	for(ll i=4;i<2*n;i++){
		dp[1][0]=(dp[0][1]+dp[0][0])%m;
		dp[1][1]=(dp[0][0]*(i-2)%m+dp[0][1]+dp[0][2])%m;
		dp[1][2]=(dp[0][0]*((i-2)*(i-1)%m)+dp[0][1]*(i-1)%m+dp[0][2])%m;
		if(i&1)ans=ans*dp[1][0]%m;
		swap(dp[0],dp[1]);
	}
	for(ll i=1;i<2*n;i++)ans=ans*i%m;
	cout<<ans<<endl;

}