# [分割数]S-N*(N-1)*K//2個の互いに区別できない品物を、N個以下に分割する方法の総数を求め、modで割った余りを出力 mod=10**9+7 N,S,K=map(int, input().split()) n=S-N*(N-1)*K//2 m=N M=mod if n>=0: dp = [[0] * (n+1) for i in range(m+1)] dp[0][0]=1 for i in range(1,m+1): for j in range(0,n+1): if j-i>=0: dp[i][j]=(dp[i-1][j]+dp[i][j-i])%M else: dp[i][j]=dp[i-1][j]%M print(dp[-1][-1]) else: print(0)