import sys import math from collections import deque import copy import bisect MOD = 10 ** 9 + 7 N, S, K = map(int, input().split()) dp = [[0 for _ in range(S + 10)] for _ in range(N + 10)] dp[0][0] = 1 for i in range(0, N): for l in range(1, S+1): if (l - K*(N - i)) >= 0: dp[i][l] = (dp[i - 1][l - K*(N - i)] + dp[i][l - K*(N - i)]) % MOD print(dp[N - 1][S])