while 1:

    n, s = list(map(int, input().split()))

    if n==0:

        exit(0)

    dp = [[0]*(s+1) for _ in range(n+1)]

    dp[0][0] = 1

    for i in range(min(s+1, 101)):

        si1 = s-i+1

        for k in range(n, 0, -1):

            dp_k = dp[k]; dp_k1 = dp[k-1]

            for j in range(si1):

                dp_k[i+j] += dp_k1[j]

    print(dp[n][s])
dp = [[0]*(1001) for _ in range(10)]

dp[0][0] = 1

for i in range(101):

    si1 = 1001-i

    for k in range(9, 0, -1):

        dp_k = dp[k]; dp_k1 = dp[k-1]

        for j in range(si1):

            dp_k[i+j] += dp_k1[j]

while 1:

    n, s = list(map(int, input().split()))

    if n==0:

        exit(0)

    print(dp[n][s])
while 1:
    n, s = list(map(int, input().split()))
    if n == 0:
        exit(0)
    dp = [[0] * (s + 1) for _ in range(n + 1)]
    dp[0][0] = 1
    for i in range(min(s + 1, 101)):
        si1 = s - i + 1
        for k in range(n, 0, -1):
            dp_k = dp[k]
            dp_k1 = dp[k - 1]
            for j in range(si1):
                dp_k[i + j] += dp_k1[j]
    print(dp[n][s])

dp = [[0] * (1001) for _ in range(10)]
dp[0][0] = 1
for i in range(101):
    si1 = 1001 - i
    for k in range(9, 0, -1):
        dp_k = dp[k]
        dp_k1 = dp[k - 1]
        for j in range(si1):
            dp_k[i + j] += dp_k1[j]
while 1:
    n, s = list(map(int, input().split()))
    if n == 0:
        exit(0)
    print(dp[n][s])

+dp = [[0] * (1001) for _ in range(10)] +dp[0][0] = 1 +for i in range(101): +    si1 = 1001 - i +    for k in range(9, 0, -1): +        dp_k = dp[k] +        dp_k1 = dp[k - 1] +        for j in range(si1): +            dp_k[i + j] += dp_k1[j] -    dp = [[0] * (s + 1) for _ in range(n + 1)] -    dp[0][0] = 1 -    for i in range(min(s + 1, 101)): -        si1 = s - i + 1 -        for k in range(n, 0, -1): -            dp_k = dp[k] -            dp_k1 = dp[k - 1] -            for j in range(si1): -                dp_k[i + j] += dp_k1[j]