#include #define _overload3(_1,_2,_3,name,...) name #define _rep(i,n) repi(i,0,n) #define repi(i,a,b) for(int i=int(a);ibool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b vector table(int n, T v) { return vector(n, v); } template auto table(int n, Args... args) { auto val = table(args...); return vector(n, move(val)); } const ll INF = 1e9; const ll MOD = 1000000007; typedef pair P; int main(){ cin.tie(0); ios::sync_with_stdio(false); ll n,s,k; ll dp[20005][105]; cin >> n >> s >> k; s -= k*n*(n-1)/2; if (s < 0){ PRINT(0); return 0; } dp[0][0] = 1; rep(i,s+1){ rep(j,1,n+1){ if (i-j >= 0) dp[i][j] = (dp[i][j-1]+dp[i-j][j])%MOD; else dp[i][j] = dp[i][j-1]; } } cout << dp[s][n] << endl; }