output_description: Print the number of permutations of {1,\ 2,\ ...,\ n} of oddness k, modulo
  10^9+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      n k
attempt: 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])
  
problem_description: 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.
samples: [{"input": "3 2", "output": "2\n    \n\nThere are six permutations of {1,\\ 2,\\ 3}. Among them, two have oddness of 2:\n{2,\\ 1,\\ 3} and {1,\\ 3,\\ 2}.\n\n* * *"}, {"input": "39 14", "output": "74764168"}]