#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;

const int MAX_I = 100;
const int MAX_N = 9;
const int MAX_S = 1000;

int dp[MAX_I+1][MAX_N+1][MAX_S+1];

// i以上の数からn個取り出してsを作る組み合わせが何個あるか？
int rec(int i, int n, int s) {
    if(dp[i][n][s] != -1) return dp[i][n][s];
    if(n == 1) {
        if(s >= i) {
            return dp[i][n][s] = 1;
        }
        else {
            return dp[i][n][s] = 0;
        }
    }

    int r = 0;
    for(int j = i; j <= min(s, 100); j++) {
        r += rec(j + 1, n - 1, s - j);
    }
    return dp[i][n][s] = r;
}

int main(){
    int n,s;
    memset(dp, -1, sizeof(dp));
    while(cin>>n>>s,n||s){
        cout << rec(0, n, s) << endl;
    }
}