问题描述
给定一个整数 N。有多少个满足以下条件的排列 (P0,P1,cdots,P2N−1),其中 (0,1,cdots,2N−1)?
- 对于每个 i (0leqileq2N−1),满足 N2leqi2+Pi2leq(2N)2。
由于结果可能非常大,需要对 M 取模。
约束条件
- 1≤N≤250
- 2≤M≤109
- 输入的所有值都是整数。
输入
输入以以下格式给出:
N M
输出
打印满足条件的排列的数量,对 M 取模。
示例输入 1
2 998244353
示例输出 1
4
满足条件的有四个排列:
- (2,3,0,1)
- (2,3,1,0)
- (3,2,0,1)
- (3,2,1,0)
示例输入 2
10 998244353
示例输出 2
53999264
示例输入 3
200 998244353
示例输出 3
112633322