#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <functional>
#include <queue>
#include <set>
#include <map>
#include <numeric>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cctype>
#include <sstream>

#define rep(i, a) REP(i, 0, a)
#define REP(i, a, b) for(int i = a; i < b; ++i)
#define repll(i, a) REPLL(i, 0, a)
#define REPLL(i, a, b) for(ll i = a; i < b; ++i)

typedef long long ll;
typedef unsigned long long ull;
typedef std::pair<int, int> P;
typedef std::pair<P, int> PP;
const double PI = 3.14159265358979323846;
const double esp = 1e-9;
const int infi = (int)1e+9 + 10;
const ll infll = (ll)1e+17 + 10;

int n, s;
ll dp[1010][11][101];

int main(){
	dp[0][0][0] = 1;
	dp[0][1][0] = 1;

	for (int i = 0; i < 1010; ++i){
		for (int j = 0; j <= 9; ++j){
			for (int k = 0; k <= 100; ++k){
				if (dp[i][j][k] == 0)continue;
				for (int l = k + 1; l <= 100; ++l){
					if(i + l < 1010)++dp[i + l][j + 1][l];
				}
			}
		}
	}

	while (true){
		std::cin >> n >> s;
		if (n == 0 && s == 0)break;
		ll sum = 0;
		for (int i = 0; i <= 100; ++i)sum += dp[s][n][i];
		std::cout << sum << std::endl;
	}
	return 0;
}