Олимпиадный тренинг

Задача . B. Машмох и ACM


Бимоху, начальнику Машмоха, Машмох не нравился. Вот он его и уволил. Решил тогда Машмох новую работу не искать, а поступить в университет и поучаствовать в ACM. Машмох хочет попасть в команду Бамоха. Для этого ему дали (в качестве испытания) несколько задач по программированию и неделю на их решение. Машмох не шибко умудренный программист. В общем-то, он и не программист вовсе. Так что ничего он не решил, а попросил вас помочь ему с этими заданиями. Одно из них такое:

Последовательность из l целых чисел b1, b2, ..., bl (1 ≤ b1 ≤ b2 ≤ ... ≤ bl ≤ n) называется хорошей, если каждое число делит без остатка следующее число в последовательности. Более формально, для всех i (1 ≤ i ≤ l - 1).

Вам даны n и k, найдите количество хороших последовательностей длины k. Так как ответ может быть достаточно большим, выведите его по модулю 1000000007 (109 + 7).

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

В первой строке записано два целых числа через пробел n, k (1 ≤ n, k ≤ 2000).

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

Выведите единственное целое число — количество хороших последовательностей длины k по модулю 1000000007 (109 + 7).

Примечание

В первом примере хорошие последовательности такие: [1, 1], [2, 2], [3, 3], [1, 2], [1, 3].


Примеры
Входные данныеВыходные данные
1 3 2
5
2 6 4
39
3 2 1
2

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя