#include <iostream>
#include <string>
#include <algorithm>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <iomanip>
#include <cmath>
#include <stdio.h>
#include <queue>
#include <deque>
#include <cstdio>
#include <set>
#include <map>
#include <bitset>
#include <stack>
#include <cctype>
using namespace std;
long long dp[20020] = {};
int main() {
	long long n, s, k;
	cin >> n >> s >> k;
	dp[0] = 1;
	long long k1 = (n) * (n - 1) / 2 * k;
	if (k1 > s) {
		cout << "0" << endl;
	}
	else {
		s -= k1;
		for (int i = 1; i <= n; i++) {
			for (int j = 0; j <= s - i; j++) {
				dp[j + i] += dp[j];
				dp[j + i] %= 1000000007;
			}
		}
		cout << dp[s] << endl;
	}
}