#include #include using namespace std; const int mod = 1000000007; int main() { int N, K; cin >> N >> K; vector A(N); for (int i = 0; i < N; ++i) { cin >> A[i]; } vector DP = {1, 1}; for (int i = 3; i <= N; ++i) { vector NDP(i * (i - 1) / 2 + 1, 0); for (int j = 0; j < i; ++j) { for (int k = 0; k < DP.size(); ++k) { NDP[j + k] = (NDP[j + k] + DP[k]) % mod; } } DP = NDP; } int result = 0; for (int i = 0; i <= K && i < DP.size(); ++i) { result = (result + DP[i]) % mod; } cout << result << endl; return 0; }