#include<iostream>
#include<cstdio>
#define int long long
#define F(i,j,n) for(register int i=j;i<=n;++i)
using namespace std;
const int N=1e6+10;
int mod;
int n;
int f[N],inv[N];
const int debug=0;
signed main(){
cin>>n>>mod;
f[0]=1;
register int p=mod;
inv[0]=inv[1]=1;
F(i,2,n+2)inv[i]=(p-p/i)*inv[p%i]%p;
F(i,1,n)
f[i]=((f[i-1]*(4*i-2))%mod*inv[i+1])%mod;
if(debug){
F(i,0,n)printf("inv[%lld]=%lld ",i,inv[i]);
puts("");
F(i,0,n)printf("f[%lld]=%lld ",i,f[i]);
puts("");
}
cout<<f[n];
return 0;
}
20 分