[AGC036F] Square Constraints

题意翻译

给你一个整数$N$,求有多少$0,1,2...2N-1$($2N$个数)的排列$P$,满足: 对于任意$i(0<=i<=2N-1)$,有$N^2<=i^2+P_{i}^2<=(2N)^2$ 输出答案对$M$取模的结果($M$是输入的)

题目描述

[problemUrl]: https://atcoder.jp/contests/agc036/tasks/agc036_f 整数 $ N $ が与えられます。 $ (0,1,\cdots,2N-1) $ の順列 $ (P_0,P_1,\cdots,P_{2N-1}) $ であって、次の条件を満たすものの個数を求めてください。 ただし、答えは非常に大きくなることがあるので、$ M $ で割ったあまりを求めてください。 - 条件: すべての $ i\ (0\ \leq\ i\ \leq\ 2N-1) $ について、$ N^2\ \leq\ i^2+P_i^2\ \leq\ (2N)^2 $ が成り立つ。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $

输出格式


条件を満たす順列の数を $ M $ で割ったあまりを出力せよ。

输入输出样例

输入样例 #1

2 998244353

输出样例 #1

4

输入样例 #2

10 998244353

输出样例 #2

53999264

输入样例 #3

200 998244353

输出样例 #3

112633322

说明

### 制約 - $ 1\ \leq\ N\ \leq\ 250 $ - $ 2\ \leq\ M\ \leq\ 10^9 $ - 入力される値はすべて整数である。 ### Sample Explanation 1 条件を満たす順列は、以下の $ 4 $ つです。 - $ (2,3,0,1) $ - $ (2,3,1,0) $ - $ (3,2,0,1) $ - $ (3,2,1,0) $