import java.util.Scanner;


public class Main_yukicoder269 {

	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        final int MOD = 1_000_000_007;
        int n = sc.nextInt();
        int s = sc.nextInt();
        int k = sc.nextInt();

        if (s < k * n * (n - 1) / 2) {
        	System.out.println("0");
        } else {
        	int m = s - k * n * (n - 1) / 2;
        	int[][] dp = new int[n + 1][m + 1];
        	dp[0][0] = 1;
        	for (int i = 1; i <= n; i++) {
        		for (int j = 0; j <= m; j++) {
        			if (j - i >= 0) {
        				dp[i][j] = (dp[i][j - i] + dp[i - 1][j]) % MOD;
        			} else {
        				dp[i][j] = dp[i - 1][j];
        			}
        		}
        	}

        	int ret = 0;
//        	for (int i = 1; i <= n; i++) {
        		ret = (ret + dp[n][m]) % MOD;
//        	}
        	System.out.println(ret);
        }

        sc.close();
    }
}