
import std.stdio, std.conv, std.string, std.algorithm;
import std.array, std.conv, std.c.string;
 
long[102][1001][10] table;

long solve_dp(int comb, int limit) {
  long  dp[10][1000];
  dp[0][0] = 1;
  
  for(long i = 0; i <= 100; i++)
    for(long j = limit; j >= 0; j--)
      for(long k = comb; k >= 1; k--)
        if (j - i >= 0) {
          dp[k][j] += dp[k - 1][j - i];
        }
  
  return dp[comb][limit];
}
 
void main() {
  memset(cast(void *)table, -1, table.sizeof);
  while(true) {
    int[] line = readln.chomp.split(" ").map!(to!(int)).array;
    if (line[0] == 0 && line[1] == 0) break;
    solve_dp(line[0], line[1]).writeln;
  }
}