#include #include #include #include #include #include #include #include #include #define rep(i,n) for(int i=0;i<(n);i++) using ll = long long; using namespace std; const int MOD = 1000000007; int main() { int n, s, k; cin >> n >> s >> k; int S = s - n * (n - 1) * k / 2; if (S < 0) { cout << 0 << endl; return 0; } vector> dp(S + 1, vector(n + 1, 0)); rep(i, n + 1) dp[0][i] = 1; for (int i = 1; i <= S; i++) { for (int k = 1; k <= n; k++) { dp[i][k] = dp[i][k - 1] + (i - k >= 0 ? dp[i - k][k] : 0); dp[i][k] %= MOD; } } cout << dp[S][n] << endl; return 0; }