#include #include #include using namespace std; int main(){ int n, k; cin>> n>> k; int a[n]; for(int i=0; i> a[i]; const int mod=1e9+7; vector> dp(n+1, vector(k+1, 0)); for(int i=1; i<=n; i++) dp[i][0]=1; for(int i=2; i<=n; i++)for(int j=1; j<=k && j<=i*(i-1)/2; j++){ (dp[i][j]+=dp[i-1][j])%=mod; (dp[i][j]+=dp[i][j-1])%=mod; if(j-i>=0){ assert(dp[i][j]>=dp[i-1][j-1]); (dp[i][j]-=dp[i-1][j-i])%=mod; } } int ans=0; for(int j=0; j<=k; j++) (ans+=dp[n][j])%=mod; cout<< ans<< endl; return 0; }