#include <bits/stdc++.h>

const int MOD = 1e9 + 7;
const int iINF = 1e9;
const long long int llINF = 1e18;
const double PI = acos(-1.0);
#define rep(i, n) for (int i = 0; i < (n); i++)
#define REP(i, init, n) for (int i = init; i < (n); i++)

using namespace std;
using ll = long long int;
using P = pair<int, int>;
using T = tuple<int, int, int>;
using edge = struct
{
    int to;
    int cost;
};

int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};

ll dp[110][1010][10];

int main()
{

    int N, S;

    while (cin >> N >> S, N)
    {

        rep(i, 110) rep(j, 1010) rep(k, 10) dp[i][j][k] = 0;

        dp[0][0][0] = 1;

        rep(i, 101)
        {
            rep(j, 1010)
            {
                rep(k, 10)
                {
                    dp[i + 1][j][k] += dp[i][j][k];

                    if (j + i <= S && k + 1 <= N)
                        dp[i + 1][j + i][k + 1] += dp[i][j][k];
                }
            }
        }

        cout << dp[101][S][N] << endl;
    }

    return 0;
}
