Dragonfly got a lot of n chocolates someday. However, he had caught up with toothache in the recent days and was therefore reluctant to distribute those chocolates among his friends. Anyhow, he had so a large group of friends. Dragonfly thus ranked them in orders from 1 to m in line with their distinct intimacy rates and he determined to distribute the chocolates according to the following principles:
I. Suppose friend ranked with i got x chocolates. Then friend ranked with i+1 should got chocolates no more than x+k chocolates and no less than x chocolates where k is a positive integer.
II. No.1 friend should get no more than k chocolates.
III. It is even possible for some friends to get no chocolates.
IV. If possible, all chocolates should be distributed and none were left.
Although Dragonfly is not good at mathematics, he is eager to know the number of ways that all chocolates could be distributed and he ask to you to help him.
Input file consists of a series of input lines each de fining one case. Input for each case is a single line of three positive integers:
N (1 <= n <= 500), m (1 <= m <= 100), k (1 <= k <= 100).
Input file will be terminated by 0 0 0.
For each case output the number of ways that all chocolates could be distributed on a single line.
1 1 1
4 2 2
5 3 2
0 0 0