using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, m) = (c[0], c[1]); // var start = DateTime.Now; var dp = new long[1][]; dp[0] = new long[] { 1 }; for (var i = 0; i < n * 2; ++i) { var ndp = new long[Math.Min(n, i + 1) + 1][]; for (var j = 0; j < ndp.Length; ++j) ndp[j] = new long[((i + 1) / 2) * ((i + 1) / 2) + 1]; for (var j = i % 2; j <= i && j < dp.Length; j += 2) { for (var k = 0; k < dp[j].Length; ++k) { if (dp[j][k] == 0) continue; if (j + 1 < ndp.Length) ndp[j + 1][k + (i - j) / 2] = (ndp[j + 1][k + (i - j) / 2] + dp[j][k]) % m; if (j > 0) ndp[j - 1][k] = (ndp[j - 1][k] + dp[j][k]) % m; } } dp = ndp; } WriteLine(string.Join("\n", dp[0])); // WriteLine((DateTime.Now - start).TotalSeconds); } }