#include<iostream>
using namespace std;
int dp[11][1<<10][331];
int ans(int n, int x, int s);
int main(){
  int n,s;
  for(int i=0; i<11; i++) for(int j=0; j<(1<<10); j++) for(int k=0; k<331; k++) dp[i][j][k] = -1;
  while(cin >>n>>s){
    if(n>10 || 330<s) cout <<"0"<<endl;
    else cout <<ans(n,0,s)<<endl;
  }
  return 0;
}
int ans(int n, int x, int s){
  int y = 0;
  if(dp[n][0][s]>=0) return dp[n][0][s];
  if(s<0) return 0;
  if(n == 1 && s<10){if(!(x&(1<<s))){y = 1;}}
  else
    for(int i=0; i<10; i++)
      if(!(x&(1<<i))) y+=ans(n-1,x|(1<<i),s-i*n);
  dp[n][0][s] = y;
  return y;
}