import sys sys.setrecursionlimit(10000) n,s,k=map(int,input().split()) res=s-k*n*(n-1)//2 MOD=10**9+7 if res<0: print(0) sys.exit() dp=[[-1]*(n+1) for i in range(res+1)] def rec(a,b): if a<0: return 0 if dp[a][b]!=-1: return dp[a][b] if a==0 or b==1: dp[a][b]=1 return 1 x=rec(a,b-1) y=rec(a-b,b) z=(x+y)%MOD dp[a][b]=z return z print(rec(res,n))