#include <bits/stdc++.h>

using namespace std;

#define llong long long 
int n,s;
int ans;
int memo[101][10][1000];

int solve(int before, int d, int sum){
	// if(before != -1){
	// 	if(memo[before][sum] != -1) return memo[before][sum];

	// 	if(d == n){
	// 		if(sum == s){
	// 			return memo[before][sum] = 1;
	// 		}else{
	// 			return memo[before][sum] = 0;
	// 		}
	// 	}
	// 	if(sum > s) return memo[before][sum] = 0;

	// 	llong int ret = 0;
	// 	int end = (s < 100 ? s : 100); 
	// 	for(int i = 0; i <= end ; i++){
	// 		if(i <= before)continue;
	// 		ret += solve(i, d + 1, sum + i);
	// 		cout << d << " " << before << " " << i << " " << sum << " " << ret << endl;
	// 	}

	// 	return memo[before][sum] = ret;
	// }

	// llong int ret = 0;
	// int end (s < 100 ? s : 100);
	// for(int i = 0; i <= end; i++){
	// 	ret += solve(i, d +1, sum + i);
	// }

	// return ret;
	int end = (s < 100 ? s : 100);

	if(before == -1){
		int ret = 0;
		for(int i = 0; i < end; i++){
			ret += solve(i, d + 1, sum + i);
		}
		return ret;
	}


	if(memo[before][d][sum] != -1) return memo[before][d][sum];

	if(d == n){
		if(sum == s){
			return memo[before][d][sum] = 1;
		}else return memo[before][d][sum] = 0;
	}
	if(d < n && sum >= s) return memo[before][d][sum] = 0;

	int ret = 0;
	for(int i = 0; i < end; i++){
		if(i <= before) continue;
		ret += solve(i, d + 1, sum + i);
	}

	return memo[before][d][sum] = ret;
}	

int main(){

	while(cin >> n >> s, n){
		fill_n(**memo, 101 * 10 *1000, -1);
		cout << solve(-1, 0, 0) << endl;
	}
	return 0;
}