#include <iostream>

using namespace std;
typedef long long int lint;

int dp[10][100][1000] = { 0 };

int rec(int n, int x, int s) {
	if (dp[n][x][s] != -1) return dp[n][x][s];

	int ret = 0;
	for (int k = 1; (x >= k && s >= k * n - 1); k++) {
		ret += rec(n - 1, x - k, s - k * n + 1);
	}

	return (dp[n][x][s] = ret);
}

void answer()
{
	int n, x, s;
	for (n = 0; n < 10; n++) {
		for (x = 0; x <= 100; x++) {
			for (s = 0; s <= 1000; s++) {
				dp[n][x][s] = -1;
			}
		}
	}
	for (x = 0; x <= 100; x++) {
		dp[0][x][0] = 1;
		for (s = 1; s <= 1000; s++) {
			dp[0][x][s] = 0;
		}
	}

	while (cin >> n >> s) {
		cout << rec(n, 100, s) << endl;
	}
}

int main()
{
	answer();
	return 0;
}
 