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: n, K = map(int, input().split())
  dp = [[0] * (n**2 + 1) for _ in range(n + 2)]
  dp[0][0] = 1
  for i in range(n):
      ndp = [[0] * (n**2 + 1) for _ in range(n + 2)]
      for j in range(i + 2):
          for k in range(n**2 + 1):
              if k - 2 * j < 0:
                  continue
              ndp[j][k] = (
                  (2 * j + 1) * dp[j][k - 2 * j]
                  + (j + 1) * (j + 1) * dp[j + 1][k - 2 * j]
                  + dp[j - 1][k - 2 * j]
              ) % (10**9 + 7)
      dp = ndp
  print(dp[0][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"}]