#include using namespace std; #define arep(i,x,n) for(int i=int(x);i<(int)(n);i++) #define rep(i,n) for(long long i = 0;i < n;++i) #define rrep(i,n) for(int i=int(n-1);i>=0;i--) #define fs first #define sc second #define all(x) (x).begin(), (x).end() #define pi 3.141592653589793 #define eps 0.00000001 #define INF 1e9+7 using ll = long long; using P=pair; using lP=pair; using fP=pair; using PPI=pair; //ll const mod=998244353; ll const mod=1e9+7; const ll MAX=300000; using vi=vector; using vl=vector; using vc=vector; using vd=vector; using vs=vector; using vp=vector

; using vb=vector; using vvi =vector>; using vvd=vector>; using vvc=vector>; using vvp =vector>; using vvb=vector>; template bool chmax(T &a, const T b){if(a < b){a = b; return true;} return false;} template bool chmin(T &a, const T b){if(a > b){a = b; return true;} return false;} //https://drken1215.hatenablog.com/entry/2018/01/16/222843 ////////////////////////////////////// int main(){ int n,s,k; cin>>n>>s>>k; int atleast=k*n*(n-1)/2; s-=atleast; ll ans=0; if(s<0){ cout<=0)dp[i][j]=dp[i][j-1]+dp[i-j][j];//通常 else dp[i][j]=dp[i][j-1];//もう全部に1個ずつは足りない。 dp[i][j]%=mod; } } cout<