#include #define rep(i, n) for(int i=0; i; const int mod = 1000000007; const int NMAX = 105; const int SMAX = 20010; int main(){ int n, s, k; cin >> n >> s >> k; vector > dp(NMAX, vector(SMAX)); for(int j=0; j*n<=s;j++){ dp[0][j*n]=1; } for(int i=1; i<=n-1; i++){ rep(j, s+1){ if(j-(n-i)>=0){ dp[i][j]+=dp[i][j-(n-i)]; dp[i][j]%=mod; } if(j-k*(n-i)>=0){ dp[i][j]+=dp[i-1][j-k*(n-i)]; dp[i][j]%=mod; } } } cout << dp[n-1][s] << endl; return 0; }