#include <iostream>
using namespace std;
int n,s;
int dp[12][2 << 10];
void dfs(int bit, int d, int s){
  dp[d][s]++;
  for (int i = 0; i < 10; i++){
    if (bit & (1 << i)){
	dfs(bit - (1 << i), d + 1, s + i * (d + 1));
      }
  }

  return ;
}
int main(){
  for (int i = 0; i < 12; i++){
    for (int j = 0; j < 1024; j++){
      dp[i][j] = 0;
    }
  }
  dfs((2 << 10) - 1, 0, 0);
  while (cin >> n >> s){
    if (s > 1023){
      cout << 0 << endl;
    }else{
      cout << dp[n][s] << endl;
    }
  }
  return 0;
}