11233. Сині та червоні кулі


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 250M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Діма та Коля грають гру. Вони мають \(K\) синіх та \(N-K\) червоних куль. Кулі одного кольору однакові. Спочатку Діма складає \(N\) куль в ряд зліва направо.

Завдання Колі: зібрати \(K\) синіх куль. За один хід він може взяти будь-яку кількість послідовних синіх куль. Він обов'язково збере всі сині кулі за найменшу кількість ходів.

Скількома способами Діма зможе розташувати \(N\) куль у ряд, щоб Колі треба було рівно \(i\) ходів, щоб зібрати всі сині кульки?

Обчисліть це число за модулем \(10^9 + 7\) для кожного такого \(i\), що \(1 \leq i \leq K\).

Формат вхідних даних

Вхідний потік містить два цілі числа \(N,K\) (\(1 \le K \le N \le 2000\)), які розділяються пропуском.

Формат вихідних даних

У вихідний потік вивести шукану кількість способів.

Примітка

До прикладу 1:

Є три способи розташувати кулі так, щоб Колі треба було рівно один хід:

  • (B, B, B, R, R), (R, B, B, B, R) і (R, R, B, B, B).

Існує шість способів розташувати кулі так, щоб Такахаші знадобилося рівно два ходи:

  • (B, B, R, B, R), (B, B, R, R, B), (R, B, B, R, B), (R, B, R, B, B), (B, R, B, B, R) і (B, R, R, B, B).

Є один спосіб розташувати кулі так, щоб Такахаші знадобилося рівно три ходи:

  • (B, R, B, R, B).

Приклад вхідних даних

5 3

Приклад вихідних даних

3
6
1

Приклад вхідних даних

2000 3

Приклад вихідних даних

1998
3990006
327341989

Коментарі

Ще немає коментарів.