#include <bits/stdc++.h>
using namespace std;
#define rep(i,s,t) for(int i=s;i<t;i++)
typedef long long ll;
#define MAXNUM 5555
ll mod;
ll dp[MAXNUM][2];
void add(ll &a,ll b)
{
    a+=b;
    if(a>=mod)a-=mod;
}
int main()
{
    int n;
    scanf("%d%lld",&n,&mod);
    dp[0][0]=1;int m=(n-1)/2;
    rep(i,1,m+1)
    rep(j,0,n+1)
    {
        dp[j][1]=dp[j][0];
        if(j>=i)add(dp[j][1],dp[j-i][1]);
        dp[j][0]=dp[j][1];
        if(j>=i)add(dp[j][0],dp[j-i][0]);
    }
    ll res=0;
    if(n&1)
    {
        rep(i,1,n+1)
        for(int j=0;j*(m+1)<=n-i;j++)
            add(res,dp[n-i-j*(m+1)][0]);
    }
    else{
        rep(i,1,n+1)
            for(int j=0;j*(m+1)<=n-i;j++)
                add(res,dp[n-i-j*(m+1)][0]*(j+1)%mod);
    }
    printf("%lld\n",res);
}
