#include using namespace std; typedef long long ll; const int mod = 1000000007; int N, S, K; int me[110][20010]; int dfs(int i, int t) { if (t > S) return 0; if (me[i][t] != -1) return me[i][t]; if (i == N) { return me[i][t] = (t == S); } return (me[i][t] = dfs(i + 1, t + K * (N - i - 1)) + dfs(i, t + N - i)) %= mod; } int main() { cin >> N >> S >> K; for (int i = 0; i < 110; i++) { for (int j = 0; j < 20010; j++) { me[i][j] = -1; } } cout << dfs(0, 0) << '\n'; return 0; }