#include #include using namespace std; int main(){ int N,S,K; cin >> N >> S >> K; int mod = 1e9 + 7; vector > dp(N+1,vector(S+1,0)); // (1)人目までの金額が決定していて、合計金額が(2)となるような場合のかず。 dp[1][0]=1; for(int i=1;i<=N;i++){ for(int j=0;j<=S;j++){ if( j >= K*(N-i+1) ) dp[i][j] += dp[i-1][j-K*(N-i+1)]%mod; if( j >= (N-i+1) ) dp[i][j] += dp[i][j-(N-i+1)]%mod; dp[i][j] = dp[i][j]%mod; } } cout << dp[N][S] << endl; }