#include <stdio.h>
#include <string.h>

#define SIZE (500);

int dp[11][1 << 10][1024];

int main(void)
{
	int n;
	int s;
	
		memset(dp, 0, sizeof(dp));
		dp[0][0][0] = 1;
		for (int i = 0; i < 10; i++){
			for (int j = 0; j < (1 << 10); j++){
				for (int k = 0; k < 1024; k++){
					for (int l = 0; l < 10; l++){
						if (((j >> l) & 1) == 0){
							dp[i + 1][j | (1 << l)][k + ((i + 1) * l)] += dp[i][j][k];
						}
					}
				}
			}
		}
	while (1){	
		scanf("%d%d", &n, &s);
		int ans = 0;
		for (int i = 0; i < (1 << 10); i++){
			ans += dp[n][i][s];
		}
		
		printf("%d\n", ans);
	}
	
	return (0);
}