Mashmokh's boss, Bimokh, didn't like Mashmokh. So he fired him. Mashmokh decided to go to university and participate in ACM instead of finding a new job. He wants to become a member of Bamokh's team. In order to join he was given some programming tasks and one week to solve them. Mashmokh is not a very experienced programmer. Actually he is not a programmer at all. So he wasn't able to solve them. That's why he asked you to help him with these tasks. One of these tasks is the following.
A sequence of $*l*$ integers $*b*_{1}, *b*_{2}, ..., *b*_{*l*}$ $(1 ≤ *b*_{1} ≤ *b*_{2} ≤ ... ≤ *b*_{*l*} ≤ *n*)$ is called good if each number divides (without a remainder) by the next number in the sequence. More formally
for all $*i*$ $(1 ≤ *i* ≤ *l* - 1)$.
Given $*n*$ and $*k*$ find the number of good sequences of length $*k*$. As the answer can be rather large print it modulo $1000000007$ $(10^{9} + 7)$.
Input
The first line of input contains two space-separated integers $*n*, *k* (1 ≤ *n*, *k* ≤ 2000)$.
Output
Output a single integer — the number of good sequences of length $*k*$ modulo $1000000007$ $(10^{9} + 7)$.
Note
In the first sample the good sequences are: $[1, 1], [2, 2], [3, 3], [1, 2], [1, 3]$.
样例
3 2
5
6 4
39
2 1
2
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。