#include <iostream>
#include <cstring>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cstdlib>
#define all(a) a.begin(),a.end()
using namespace std;

typedef vector<int> vi;
struct hoge
{
	int a[10];
	hoge()
	{
		memset(a,0,sizeof a);
	}
};

int n,s;
int memo[20][300]={};

int calc(hoge v,int val,int size)
{
	if(size>10)return 0;
	memo[size][val]++;
	
	int ans=0;
	for(int i=0;i<=9;i++)
	{
		if(!v.a[i])
		{
			v.a[i]=true;
			ans+=calc(v,val+i*(size+1),size+1);
			v.a[i]=false;
		}
	}
	return ans;
	
}


int main()
{
	hoge x;
	calc(x,0,0);
	while(cin>>n>>s)
	{
		cout<<memo[min(n,19)][min(s,299)]<<endl;
	}
}