#include<stdio.h>

int data[10];
int ans[15][500];

void sub(int n,int x);
int check(int a,int x);

int main(void){
	int ds[150][2];
	int n,i,t;
	i=0;
	while(scanf("%d %d",&ds[i][0],&ds[i][1])!=EOF){
		i++;
	}
	t=i;

	for(n=0;n<15;n++){
		for(i=0;i<500;i++){
			ans[n][i]=0;
		}
	}
	for(n=1;n<=10;n++){
	sub(n,0);}
	for(i=0;i<t;i++){
		printf("%d\n",ans[ds[i][0]][ds[i][1]]);
	}
	return 0;
}
void sub(int n,int x){
	int i,sum;
	if(x==n){
		sum=0;
		for(i=0;i<n;i++){sum=sum+data[i]*(i+1);}
		ans[n][sum]++;
		return ;
	}
	for(i=0;i<10;i++){
		data[x]=i;
		if(check(i,x)==0){
			sub(n,x+1);
		}
	}
}
int check(int a,int x){
	int i;
	for(i=0;i<x;i++){if(data[i]==a){return 1;}	}
	return 0;
}