#include using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) using ll = long long; using P = pair; ll M = 1000000007; int main() { int N, S, K; cin >> N >> S >> K; int S0 = (N-1)*K*N/2; auto dp = vector(N+1, vector(S+1, 0)); int T = S - S0; if (T < 0) { cout << 0 << endl; return 0; } assert(T >= 0); dp[0][0] = 1; for (int i = 1; i <= N; i++) { for (int j = 0; j <= T; j++) { if (0 <= j-i) { dp[i][j] = (dp[i][j-i] + dp[i-1][j]) % M; } else { dp[i][j] = dp[i-1][j]; } } } ll ans = dp[N][T]; cout << ans << endl; return 0; }