#include #include using namespace std; using i64 = long long; class range {private: struct I{int x;int operator*(){return x;}bool operator!=(I& lhs){return x> dp(k+1, vector(n+1)); dp[0][0] = 1; for(int i : range(1, k+1)) { for(int j : range(n+1)) { dp[i][j] = dp[i-1][j] + (j >= i ? dp[i][j-i] : 0) % mod; } } return dp[k][n] % mod; } int main(void) { int n, s, k; scanf("%d%d%d", &n, &s, &k); int x = s - n * (n-1) / 2 * k; int res = x>=0 ? f(x, n) : 0; printf("%d\n", res); return 0; }