#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int n; int s; int k; long long int dp[102][20002]; long long int mod[102][20002]; #define MOD 1000000007 int main(){ scanf("%d%d%d", &n, &s, &k); long long int N = n; long long int K = k; long long int kkk = (long long int)(K + N*K-K) *(long long int)(n-1) / 2LL; if (kkk > (long long int)(s)){ puts("0"); return 0; } s -= kkk; for (int i = 0; i <= s; i++){ if (i*n > s){ break; } dp[0][i*n] = 1; } for (int i = 0; i+1 < n; i++){ long long int rest = n - i - 1; for (int j = 0; j <= s; j++){ mod[i][j%rest] += dp[i][j]; mod[i][j%rest] %= MOD; dp[i + 1][j] = mod[i][j%rest]; } } printf("%lld\n", dp[n - 1][s]); return 0; }