#include <iostream> #include <string> #include <algorithm> #include <iostream> #include <string> #include <algorithm> #include <vector> #include <iomanip> #include <cmath> #include <stdio.h> #include <queue> #include <deque> #include <cstdio> #include <set> #include <map> #include <bitset> #include <stack> #include <cctype> using namespace std; long long dp[20020] = {}; int main() { long long n, s, k; cin >> n >> s >> k; dp[0] = 1; long long k1 = (n) * (n - 1) / 2 * k; if (k1 > s) { cout << "0" << endl; } else { s -= k1; for (int i = 1; i <= n; i++) { for (int j = 0; j <= s - i; j++) { dp[j + i] += dp[j]; dp[j + i] %= 1000000007; } } cout << dp[s] << endl; } }