#include <iostream>
using namespace std;
int n,s;
int flg[101] = {};
int ans;
int count;
int dp[11][1001][101];
int test;

void saiki(int sum,int mae,int kai) {
  count ++;
  if(kai == n && sum == s) ans++,dp[kai][sum][mae]++;
  if(kai == n && sum != s) dp[kai][sum][mae] = -1;
  //  if(kai == n) cout <<"kai="<< kai<<" sum="<< sum <<" mae="<< mae <<" result="<<dp[kai][sum][mae]<< endl;
  					 
  if(kai < n && sum <= s) {
    for(int i=0;i<=100;i++){
      if(flg[i] == 0 && mae < i && sum+i <= s) {
	if(dp[kai+1][sum+i][i] == -1) continue;
	else if(dp[kai+1][sum+i][i] > 0) {
	  ans += dp[kai+1][sum+i][i];
	  dp[kai][sum][mae] += dp[kai+1][sum+i][i];
	  continue;
	  } 
	flg[i] = 1;
	saiki(sum+i,i,kai+1);
	flg[i] = 0;
	if(kai == 0 && dp[kai+1][sum+i][i] > 0) test+=dp[kai+1][sum+i][i];
	if(dp[kai+1][sum+i][i] >= 1) dp[kai][sum][mae]+=dp[kai+1][sum+i][i];
	//cout <<"kai="<< kai<<" sum="<< sum <<" i="<< i <<" result="<<dp[kai+1][sum+i][i]<< endl;
      }
      
    }
    if(dp[kai][sum][mae] == 0) dp[kai][sum][mae] = -1;
    
  }
  
}


int main() {


    while(1) {
    cin >> n >>s;
    if(n == 0 && s == 0) break;

    for(int i=0;i<=n;i++) 
      for(int j=0;j<=s;j++)
	for(int k=0;k<=100;k++)
	dp[i][j][k] = 0;
    for(int i=0;i<=100;i++) flg[i] = 0;
    
    ans = 0;
    count = 0;
    test = 0;
    saiki(0,-1,0);
    cout << ans << endl;
    //cout <<count << endl;
    //cout << test << endl;
    }
  
    return 0;
}