#include "bits/stdc++.h"
using namespace std;

long long N, M;
int di[3] = { 1, 2, 3 }, dj[3] = { 1, -1, 0 };
vector<long long> INV;

void init() {
	INV.resize(N + 1);
	INV[1] = 1;
	for (int i = 2; i <= N; i++) {
		INV[i] = M - (INV[M % i] * (M / i)) % M;
	}
}

int main() {
	cin >> N >> M;
	N *= 3;
	init();
	vector<vector<long long> > DP(N + 1, vector<long long>(N * 2 + 1, 0));
	DP[0][N] = 1;
	for (int i = 0; i < N; i++) {
		for (int j = 0; j <= N * 2; j++) {
			for (int k = 0; k < 3; k++) {
				int ni = i + di[k], nj = j + dj[k];
				if (0 <= ni && ni <= N && 0 <= nj && nj <= N * 2) {
					DP[ni][nj] += (DP[i][j] * INV[ni]) % M;
					DP[ni][nj] %= M;
				}
			}
		}
	}
	long long ANS = 0;
	for (int i = N; i <= N * 2; i++) {
		ANS += DP[N][i];
		ANS %= M;
	}
	for (int i = 1; i <= N; i++) {
		ANS *= i;
		ANS %= M;
	}
	cout << ANS << endl;
}