#include "bits/stdc++.h"

using namespace std;

typedef vector<int> vi;
typedef pair<int,int> pii;
typedef long long ll;

#define dump(x)  cerr << #x << " = " << (x) << endl
#define rep(i,n) for(ll i=0;i<(ll)(n);i++)
#define all(a)  (a).begin(),(a).end()
#define pb push_back
#define INF 999999999

int dp[1<<10][400][10];

int main(){
    int n,s;
    while(cin>>n>>s){
        rep(i,1<<10)rep(j,400)rep(k,10)dp[i][j][k]=0;
        dp[(1<<10)-1][0][0]=1;
        
        
        for(int i=1;i<=n;i++){
//            cout<<endl<<endl;
            for(int j=0;j<=s;j++){
                rep(k,10){
                    for(int l=(1<<10)-1;l>=0;l--){
                        if(j-(k*i)>=0 && (l&(1<<k))!=0){
//                            cout<<"dp["<<(l^(1<<k))<<"]["<<j<<"]["<<i<<"]+=dp["<<l<<"]["<<j-(k*i)<<"]["<<i-1<<"]"<<endl;
                            dp[(l^(1<<k))][j][i] += dp[l][j-(k*i)][i-1];
//                            cout<<dp[(l^(1<<k))][j][i]<<endl;
                        }
                    }
                }
            }
        }
        
        
//        for(int i=1;i<=n;i++){
//            for(int j=0;j<=s;j++){
//                rep(k,10){
////                    if( ( l&(1<<k) )==0 ){
//                        for(int l=(1<<n)-1;l>=0;l--){
//                            if( j-k>=0 && ( l&(1<<k) )==0 ){
//                                cout<<l<<" "<<j-k<<" "<<i-1<<endl;
//                                cout<<(l^(1<<k))<<" "<<j<<" "<<i<<endl;
//                                dp[l^(1<<k)][j][i] +=dp[l][j-k][i-1]*i;
//                                cout<<dp[l^(1<<k)][j][i]<<" "<<dp[l][j-k][i-1]<<endl<<endl;
//                            }
//                        }
//                }
//            }
//        }
        
//        for(int i=1;i<=n;i++){
//            for(int j=0;j<(1<<n);j++){
//                rep(k,10){
//                    if( ( j&(1<<k) )==0 ){
//                        for(int l=0;l<=s;l++){
//                            if(l-k>=0)
//                                dp[j|(1<<k)][l][i] +=dp[j][l-k][i-1];
//                        }
//                    }
//                }
//            }
//        }
        
        
        int ans=0;
        rep(i,1<<10){
            ans += dp[i][s][n];
        }
        cout<<ans<<endl;
    }
}