#include #pragma warning(disable:4996) using namespace std; using ll = long long; const int dx[4] = { 1,0,-1,0 }, dy[4] = { 0,1,0,-1 }; int main() { int N, S, K; cin >> N >> S >> K; vector>dp(N+1, vector(S - (N * (N - 1)*K / 2) + 1, 0)); dp[0][0] = 1; for (int i = 1; i <= N;i++) { for (int j = 0; j <= S - (N * (N - 1)*K / 2);j++) { if (j - i >= 0) { dp[i][j] = dp[i - 1][j] + dp[i][j - i]; } else { dp[i][j] = dp[i - 1][j]; } } } cout << dp[N][S - (N * (N - 1)*K / 2)] << endl; }