MOD = 10**9+7 N,S,K = list(map(int,input().split())) dp = [[0 for _ in range(S+1)] for _ in range(N+1)] dp[0][0] = 1 dp[1][0] = 1 for i in range(N): for j in range(S+1): for k in range(K,10**18): if(j+k*(N-i) > S):break dp[i+1][j+k*(N-i)] += dp[i][j] dp[i+1][j+k*(N-i)] %= MOD print(dp[-1][S])