#include #include #include static const int MAX_N = 100; static const int MAX_S = 20000; static const int M = pow(10, 9) + 7; int N, S, K; int dp[MAX_N + 1][MAX_S + 1]; int main(){ scanf("%d %d %d", &N, &S, &K); S -= K * ((N - 1) * N / 2); if(S >= 0){ dp[0][0] = 1; for(int i = 1; i <= N; i++){ for(int j = 0; j <= S; j++){ if(j - i >= 0) dp[i][j] = (dp[i][j - i] + dp[i - 1][j]) % M; else dp[i][j] = dp[i - 1][j]; } } printf("%d\n", dp[N][S]); }else{ printf("%d\n", 0); } }