#include <iostream>
#include <string>
#include <string.h>

#define REP(i,k,n) for(int i=k;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)

using namespace std;

int dp[10][330];
int flag[10];

void dfs(int i,int a)
{
	if(a > 330 || i > 10)
	{
		return;
	}
	else
	{
		rep(k,10)
		{
			if(flag[k] == 0)
			{
				flag[k] = 1;
				int temp = i*k;
				dp[i][a+temp]++;
				dfs(i+1,a+temp);
				flag[k] = 0;
			}
		}
	}
}


int main()
{
	int n,s;
	while(cin >> n >> s)
	{
		if(s > 330)
		{
			cout << 0 << endl;
		}
		else
		{
			memset(flag,0,sizeof(flag));
			memset(dp,0,sizeof(dp));
			dfs(1,0);
			cout << dp[n][s] << endl;
		}
	}
	return 0;
}