#include <bits/stdc++.h>
using namespace std;
#define rep(i,s,t) for(int i=s;i<t;i++)
typedef long long ll;
ll dp[55][55][55*55*2];
const ll mod=1e9+7;
void add(ll &a,ll b)
{
    a+=b;
    if(a>=mod)a-=mod;
}
int main()
{
    int n,k;scanf("%d%d",&n,&k);int tmp=n*n;
    dp[0][0][tmp]=1;
    rep(i,0,n)rep(j,0,i+1)rep(x,0,n*n*2+1)
    if(dp[i][j][x])
    {
        add(dp[i+1][j][x],dp[i][j][x]);
        add(dp[i+1][j][x],dp[i][j][x]*j%mod);
        add(dp[i+1][j+1][x-2*i-2],dp[i][j][x]);
        add(dp[i+1][j-1][x+2*i+2],dp[i][j][x]*j%mod*j%mod);
        add(dp[i+1][j][x],dp[i][j][x]*j%mod);
    }
    printf("%lld\n",dp[n][0][k+n*n]);
}