Problem:
Score : 600 points

Problem Statement

Let us define the oddness of a permutation p = {p_1,\ p_2,\ ...,\ p_n} of {1,\ 2,\ ...,\ n} as \sum_{i = 1}^n |i - p_i|.

Find the number of permutations of {1,\ 2,\ ...,\ n} of oddness k, modulo 10^9+7.

Constraints

All values in input are integers.

1 \leq n \leq 50

0 \leq k \leq n^2

Input

Input is given from Standard Input in the following format:

n k

Output

Print the number of permutations of {1,\ 2,\ ...,\ n} of oddness k, modulo 10^9+7.

Sample Input 1

3 2

Sample Output 1

2

There are six permutations of {1,\ 2,\ 3}. Among them, two have oddness of 2: {2,\ 1,\ 3} and {1,\ 3,\ 2}.

Sample Input 2

39 14

Sample Output 2

74764168

Solution in PyPy3 (2.4.0) (judge verdict: Wrong Answer)

def nsum(N):
    t=(N+2)//2
    return 2*(-t+n+1)*(t-1)
mod=10**9+7
MAX_N=50
Fact=[0 for i in range(MAX_N+1)]
Fact[0]=1
for i in range(MAX_N):
    Fact[i+1]=(i+1)*Fact[i]
    Fact[i+1]%=mod
n,k=map(int,input().split())
dp=[[0 for q in range(n*n+1)] for p in range(n+1)]
dp[1][0]=1
for p in range(2,n+1):
    for q in range(nsum(p)):
        for r in range(q+1):
            #r,q-r
            dp[p][q]+=dp[p-1][r]*dp[p-1][q-r]
            dp[p][q]%=mod
    dp[p][nsum(p)]=(Fact[p//2]*p**(p%2))%mod
print(dp[n][k])