#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

ll D[5050][5050];
ll n, m, k, ans;

int main()
{
	ll i, j, l, t;
	
	scanf("%lld%lld", &n, &m);
	
	k = n >> 1;
	
	if(n & 1){
		for(i = 0; (t = i * (k + 1)) < n; i ++){
			D[0][t] = 1;
		}
	}
	else D[0][0] = 1;
	
	for(i = 1; i <= k; i ++){
		for(j = 0; j < n; j ++){
			for(l = 0; (t = j + l * (k - i + 1)) < n; l ++){
				D[i][t] = (D[i][t] + D[i - 1][j] * (l + 1)) % m;
			}
		}
	}
	
	for(i = 0; i < n; i ++){
		ans = (ans + D[k][i]) % m;
	}
	
	printf("%lld\n", ans);
	
	return 0;
}