#include <iostream>
#include <cstdio>
using namespace std;
int ans,n,s;
bool used[10];
void zeroset(bool used[],int n){
	int i;
	for(i=0;i<n;i++){
		used[i]=0;
	}
}

int solve(int bairitu,int nowpoint){//??????????????¨?????????????????°
	int i;
	if(bairitu==n){
		for(i=0;i<=9;i++){
			if(used[i]==0){
				if(nowpoint+i*bairitu==s) ans++;
			}
		}
	}else{
		for(i=0;i<=9;i++){
			if(used[i]==0){
				used[i]=true;
				solve(bairitu+1,nowpoint+i*bairitu);
				used[i]=false;
			}
		}
	}
	return 0;
}

int main(){
	int i;
	while(scanf("%d %d",&n,&s)!=EOF){
		solve(1,0);
		cout << ans << endl;
		ans=0;
	}
	return 0;
}