#include long long int dp[502][2003]; int main() { long long int n, m; scanf("%lld %lld", &n, &m); long long int i, j; if (n % 3 > 0) { printf("0\n"); return 0; } for (i = 0; i <= n / 3; i++) for (j = 0; j <= n; j++) dp[i][j] = 0; dp[0][0] = 1; for (i = 0; i < n / 3; i++) { for (j = n; j > 0; j--) { dp[i][j - 1] += dp[i][j]; dp[i][j - 1] %= m; dp[i + 1][j + 2] += dp[i][j]; dp[i + 1][j + 2] %= m; } dp[i + 1][j + 2] += dp[i][j]; dp[i + 1][j + 2] %= m; } for (j = n; j > 0; j--) { dp[i][j - 1] += dp[i][j]; dp[i][j - 1] %= m; } printf("%lld\n", dp[n / 3][0]); return 0; }