B - Bolsa de Caramelos

Languages: C, C++, Java, Haskell, JavaScript, Tiger, Python, Pascal, C#
Time & Memory limits: (details)

Para la fiesta de cumpleaños de su primita, Fito compró una bolsa con $n$ caramelos numerados de $1$ a $n$. Como Fito es tan especial y se le ocurren tantas ideas, decidió que para sorprender a su primita le iba a pedir que escogiera un número $k$ entre $1$ y $n$ y otro número $s$, para luego regalarle un subconjunto de $k$ caramelos de los que compró cuyos números sumen $s$. Pero puede ser que para ciertos números $k$ y $s$ esto sea muy difícil o incluso imposible. Nuestra tarea es ayudar a Fito diciéndole de cuántas formas él puede escoger el subconjunto de caramelos que le regalará a su primita.

Nota: Como Fito seleccionará un subconjunto, es lo mismo seleccionar los caramelos $\{1, 2, 3\}$ que los caramelos $\{3, 2, 1\}$.

Input

La entrada tendrá varios casos de prueba pero no más de 100. Cada caso consta de 3 enteros $n$ $(1 \le n \le 20)$, $k$ $(1 \le k \le 10)$ y $s$ $(1 \le s \le 155)$ separados por un espacio. El final de la entrada contiene tres ceros.

Output

La salida para cada caso de prueba debe contener un entero que represente la cantidad de formas que tiene Fito para escoger los caramelos que le regalará a su primita. Usted puede asumir que la salida nunca será mayor que $2^{31} – 1$.

Sample test(s)

Input
9 3 23 9 3 22 10 3 28 16 10 107 20 8 102 20 10 105 20 10 155 3 4 2 4 2 11 0 0 0
Output
1 2 0 20 1542 5448 1 0 0