Кратные последовательности

Просмотр в формате PDF

Submit solution


Очки: 180
Ограничение по времени: 1.0s
Ограничение по памяти: 64M

Автор:
Problem types
Allowed languages
C++, Python

Условие

В исследовательском центре разрабатывают систему генерации числовых последовательностей для тестирования алгоритмов.

Последовательность считается корректной, если:

  • она состоит из k положительных целых чисел;
  • каждое число находится в диапазоне от 1 до n включительно;
  • для каждого i от 1 до k-1 выполняется условие:
a[i] делит a[i+1]

Иными словами, каждый следующий элемент последовательности должен быть кратен предыдущему.

Ваша задача — определить количество различных корректных последовательностей длины k.

Так как ответ может быть очень большим, выведите его по модулю 10^9 + 7.


Входные данные

В единственной строке заданы два целых числа:

n k
  • 1 ≤ n ≤ 2000
  • 1 ≤ k ≤ 2000

Выходные данные

Выведите одно число — количество корректных последовательностей длины k по модулю 10^9 + 7.


Примеры

Вход
2 2
Выход
3
Вход
3 2
Выход
5
Вход
3 3
Выход
7

Пояснение

В первом примере возможные последовательности:

[1, 1]
[1, 2]
[2, 2]

Всего 3 последовательности.

Во втором примере последовательности длины 2:

[1, 1]
[1, 2]
[1, 3]
[2, 2]
[3, 3]

Всего 5 последовательностей.


Комментарии

Еще нет ни одного комментария.