#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <numeric>

#define REP(i, a, b) for (int i = int(a); i < int(b); i++)
#ifdef _DEBUG_
#define dump(val) cerr << __LINE__ << ":\t" << #val << " = " << (val) << endl
#else
#define dump(val)
#endif

using namespace std;

typedef long long int ll;

template<typename T>
vector<T> make_v(size_t a, T b) {
    return vector<T>(a, b);
}
template<typename... Ts>
auto make_v(size_t a, Ts... ts) {
    return vector<decltype(make_v(ts...))>(a, make_v(ts...));
}

#include <functional>

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    int n, s;
    while (cin >> n >> s, n + s) {
        auto dp = make_v(n + 1, 110, s + 1, -1LL);
        function<ll(int, int, int)> rec = [&](int cnt, int lst, int sum) -> ll {
            if (sum < 0 || cnt > n || lst > 110) {
                return 0;
            }
            if (dp[cnt][lst][sum] != -1) {
                return dp[cnt][lst][sum];
            }
            if (cnt == n && sum == 0) {
                return 1;
            }
            ll ans = 0;
            REP(i, lst, 101) {
                ans += rec(cnt + 1, i + 1, sum - i);
            }
            return dp[cnt][lst][sum] = ans;
        };
        cout << rec(0, 0, s) << endl;
    }
    return 0;
}

