#P13011. [AGC036F] Square Constraints

    ID: 12195 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2800动态规划组合数学排序计数DP数学枚举

[AGC036F] Square Constraints

题目描述

给定一个整数 NN。请计算满足以下条件的 (0,1,,2N1)(0,1,\cdots,2N-1) 的一个排列 (P0,P1,,P2N1)(P_0,P_1,\cdots,P_{2N-1}) 的个数。由于答案可能非常大,请输出其对 MM 取模的结果。

  • 条件:对于所有 i (0i2N1)i\ (0\leq i\leq 2N-1),都有 N2i2+Pi2(2N)2N^2 \leq i^2 + P_i^2 \leq (2N)^2

输入格式

输入从标准输入按以下格式给出。

NN MM

输出格式

输出满足条件的排列个数对 MM 取模的结果。

输入输出样例 #1

输入 #1

2 998244353

输出 #1

4

输入输出样例 #2

输入 #2

10 998244353

输出 #2

53999264

输入输出样例 #3

输入 #3

200 998244353

输出 #3

112633322

说明/提示

限制

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

样例解释 1

满足条件的排列共有如下 44 种。

  • (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)