#include<iostream>
#include<algorithm>
using namespace std;
bool used[10];
int dp[11][331];
void solve(int s,int d,int cnt)
{
	/*for(int i = 0; i < 10; ++i)
	{
		if(used[i]) cout<<i<<endl;
	}*/
	//cout<<"s="<<s<<",d="<<d<<",cnt="<<cnt<<endl;
	if(s<d)
	{
		dp[s][cnt]++;
		return;
	}

	for(int i = 0; i < 10; ++i)
	{
		if(!used[i])
		{
			used[i]=true;
			solve(s,d+1,cnt+i*d);
			used[i]=false;
		}
	}

	return;
}


int main()
{
	for(int i = 1; i < 11; ++i)
	{
		solve(i,1,0);
	}
	int n,s,mx;
	while(cin>>n>>s)
	{
		if(s<0||330<s) cout<<0<<endl;
		else cout<<dp[n][s]<<endl;
	}
	//cout<<"here"<<endl;
	/*for(int i = 1; i < 10; ++i)
	{
		for(int j = 1; j < 331; ++j)
		{
			cout<<"i="<<i<<",j="<<j<<",ans="<<dp[i][j]<<endl;
		}
	}*/
  return 0;
}