#agc036f. [agc036_f]Square Constraints

[agc036_f]Square Constraints

问题描述

给定一个整数 NN。有多少个满足以下条件的排列 (P0,P1,cdots,P2N1)(P_0,P_1,\\cdots,P_{2N-1}),其中 (0,1,cdots,2N1)(0,1,\\cdots,2N-1)

  • 对于每个 ii (0leqileq2N1)(0 \\leq i \\leq 2N-1),满足 N2leqi2+Pi2leq(2N)2N^2 \\leq i^2+P_i^2 \\leq (2N)^2

由于结果可能非常大,需要对 MM 取模。

约束条件

  • 1N2501 \leq N \leq 250
  • 2M1092 \leq M \leq 10^9
  • 输入的所有值都是整数。

输入

输入以以下格式给出:

NN MM

输出

打印满足条件的排列的数量,对 MM 取模。


示例输入 1

2 998244353

示例输出 1

4

满足条件的有四个排列:

  • (2,3,0,1)(2,3,0,1)
  • (2,3,1,0)(2,3,1,0)
  • (3,2,0,1)(3,2,0,1)
  • (3,2,1,0)(3,2,1,0)

示例输入 2

10 998244353

示例输出 2

53999264

示例输入 3

200 998244353

示例输出 3

112633322