题目描述
整数 N が与えられます。 (0,1,⋯,2N−1) の順列 (P0,P1,⋯,P2N−1) であって、次の条件を満たすものの個数を求めてください。 ただし、答えは非常に大きくなることがあるので、M で割ったあまりを求めてください。
- 条件: すべての i (0 ≤ i ≤ 2N−1) について、N2 ≤ i2+Pi2 ≤ (2N)2 が成り立つ。
输入格式
入力は以下の形式で標準入力から与えられる。
N M
输出格式
条件を満たす順列の数を M で割ったあまりを出力せよ。
题目大意
给你一个整数N,求有多少0,1,2...2N−1(2N个数)的排列P,满足:
对于任意i(0<=i<=2N−1),有N2<=i2+Pi2<=(2N)2
输出答案对M取模的结果(M是输入的)
2 998244353
4
10 998244353
53999264
200 998244353
112633322
提示
制約
- 1 ≤ N ≤ 250
- 2 ≤ M ≤ 109
- 入力される値はすべて整数である。
Sample Explanation 1
条件を満たす順列は、以下の 4 つです。 - (2,3,0,1) - (2,3,1,0) - (3,2,0,1) - (3,2,1,0)