#include using namespace std; int n, s, k; long long f[101][20001]; long long F(int N, int M) { if (N < 0 || M < 0) return 0; return f[N][M]; } int main() { cin >> n >> s >> k; s -= k * n * (n - 1)/2; f[0][0] = 1; for( int N = 1; N <= n; N++ ){ //残り項数 for( int M = 0; M <= s; M++ ){ //残り値 f[N][M] = F(N, M-N) + F(N-1, M); f[N][M] %= 1000000007; } } cout << F(n, s) << endl; return 0; }