#include #include #include #include using Int = long long; const Int M = 1000000000 + 7; int main() { int n, k; std::cin >> n >> k; std::vector> count(n + 1, std::vector(k + 1, 0)); std::vector> acc(n + 1, std::vector(k + 1, 0)); count[0][0] = 1; for (int ni = 0; ni < n; ++ni) { for (int ki = 0; ki <= k; ++ki) { if (ki == 0) acc[ni][ki] = count[ni][0]; else acc[ni][ki] = (acc[ni][ki - 1] + count[ni][ki]) % M; if (ki - ni - 1 >= 0) count[ni + 1][ki] = (M + acc[ni][ki] - acc[ni][ki - ni - 1]) % M; else count[ni + 1][ki] = acc[ni][ki]; } } Int ans = 0; for (const auto & c : count[n]) ans = (ans + c) % M; std::cout << ans << std::endl; return 0; }