#include<iostream>
#define INF 99999999
using namespace std;
int n,s,cnt;

int dp[(1<<10)+1][1000][11];

int rec(int S,int sum,int cnt){
  if(sum<0||cnt<0)return 0;
  if(dp[S][sum][cnt]!=INF)return dp[S][sum][cnt];

  if(cnt==0){
    if(sum==0)return 1;
    else return 0;
  }

  int res=0,x=0;
  for(int i=0;i<10;i++){
    if((S>>i)&1)x++;
  }

  for(int i=0;i<10;i++){
    if((S>>i)&1)continue;
    res+=rec(S+(1<<i),sum-(x+1)*i,cnt-1);
  }
  return dp[S][sum][cnt]=res;
}

int main(){
  for(int i=0;i<(1<<10)+1;i++){
    for(int j=0;j<1000;j++)
      for(int k=0;k<11;k++)dp[i][j][k]=INF;
  }
  while(cin>>n>>s){
    cout<<rec(0,s,n)<<endl;
  }
  return 0;
}